Add Row
Add Element
Fitness Living Magazine Logo
UPDATE
Add Element
  • Home
  • Categories
    • Fitness Headlines
    • South Carolina
    • Top Picks
    • Gym Growth
    • Nutrition + Performance
    • Recipes + Meal Prep
    • About the Magazine
    • Featured Fitness Leader
    • California
    • Local News
  • About The Magazine
The Media Platform for Fitness Leaders & Owners.
April 10.2026
9 Minutes Read

ProjectROCK Review: Inside Greenville’s Standout Indoor Climbing Gym

This is a custom HTML / JavaScript Element

In order To See Your Custom HTML/JavaScript Code in Action You Must Click On The Preview Page Button, Your Code is NOT going to be active in the edit mode

PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojZmZmZmZmICFpbXBvcnRhbnQ7bWFyZ2luOjAgIWltcG9ydGFudDtwYWRkaW5nOjI4cHggMTZweCAzNHB4IDE2cHggIWltcG9ydGFudDtmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Y29sb3I6IzFhMWExYSAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50OyI+CgogIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgewogICAgIkBjb250ZXh0IjogImh0dHBzOi8vc2NoZW1hLm9yZyIsCiAgICAiQGdyYXBoIjogWwogICAgICB7CiAgICAgICAgIkB0eXBlIjogIkFydGljbGUiLAogICAgICAgICJoZWFkbGluZSI6ICJJbnNpZGUgUHJvamVjdFJPQ0s6IEEgQ29tcHJlaGVuc2l2ZSBMb29rIGF0IGEgVW5pcXVlIEluZG9vciBDbGltYmluZyBHeW0iLAogICAgICAgICJhbHRlcm5hdGl2ZUhlYWRsaW5lIjogIkEgR3JlZW52aWxsZS1hcmVhIGNsaW1iaW5nIGZhY2lsaXR5IGJ1aWx0IGFyb3VuZCB0b3dlcmluZyB3YWxscywgbmF0dXJhbC1mZWF0dXJlIGRlc2lnbiwgeW91dGggcHJvZ3JhbXMsIGFuZCBhbiBleHBlcmllbmNlIG1lYW50IHRvIGZlZWwgd2VsY29taW5nIGZyb20gdGhlIG1vbWVudCBwZW9wbGUgYXJyaXZlLiIsCiAgICAgICAgImRlc2NyaXB0aW9uIjogIkFuIGVkaXRvcmlhbCBmZWF0dXJlIG9uIFByb2plY3RST0NLLCBhbiBpbmRvb3IgY2xpbWJpbmcgZ3ltIHNlcnZpbmcgdGhlIEdyZWVudmlsbGUgYXJlYSBhbmQgVXBzdGF0ZSBTb3V0aCBDYXJvbGluYSB3aXRoIHRhbGwgY2xpbWJpbmcgd2FsbHMsIGJvdWxkZXJpbmcsIHRvcCByb3BlIGFuZCBsZWFkIGNsaW1iaW5nLCB5b3V0aCBwcm9ncmFtcywgY2xpbmljcywgYW5kIGEgY29tbXVuaXR5LWNlbnRlcmVkIG1lbWJlciBleHBlcmllbmNlLiIsCiAgICAgICAgImF1dGhvciI6IHsKICAgICAgICAgICJAdHlwZSI6ICJQZXJzb24iLAogICAgICAgICAgIm5hbWUiOiAiRGFuaWVsIEZvcmQiCiAgICAgICAgfSwKICAgICAgICAicHVibGlzaGVyIjogewogICAgICAgICAgIkB0eXBlIjogIk9yZ2FuaXphdGlvbiIsCiAgICAgICAgICAibmFtZSI6ICJGaXRuZXNzIExpdmluZyBNYWdhemluZeKEoiIKICAgICAgICB9LAogICAgICAgICJhYm91dCI6IFsKICAgICAgICAgICJJbmRvb3IgY2xpbWJpbmcgZ3ltIiwKICAgICAgICAgICJHcmVlbnZpbGxlIGNsaW1iaW5nIGd5bSIsCiAgICAgICAgICAiVXBzdGF0ZSBTb3V0aCBDYXJvbGluYSBjbGltYmluZyIsCiAgICAgICAgICAiVG9wIHJvcGUgY2xpbWJpbmciLAogICAgICAgICAgIkxlYWQgY2xpbWJpbmciLAogICAgICAgICAgIkJvdWxkZXJpbmciLAogICAgICAgICAgIllvdXRoIGNsaW1iaW5nIHByb2dyYW1zIgogICAgICAgIF0sCiAgICAgICAgIm1haW5FbnRpdHlPZlBhZ2UiOiB7CiAgICAgICAgICAiQHR5cGUiOiAiV2ViUGFnZSIsCiAgICAgICAgICAiQGlkIjogImh0dHBzOi8vcHJvamVjdHJvY2suY29tL2Vhc2xleS8iCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgIkB0eXBlIjogIkZBUVBhZ2UiLAogICAgICAgICJtYWluRW50aXR5IjogWwogICAgICAgICAgewogICAgICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICAgICAibmFtZSI6ICJXaGF0IG1ha2VzIHRoaXMgY2xpbWJpbmcgZ3ltIGRpZmZlcmVudCBmcm9tIGEgdHlwaWNhbCBpbmRvb3IgZmFjaWxpdHk/IiwKICAgICAgICAgICAgImFjY2VwdGVkQW5zd2VyIjogewogICAgICAgICAgICAgICJAdHlwZSI6ICJBbnN3ZXIiLAogICAgICAgICAgICAgICJ0ZXh0IjogIlRoZSBneW0gc3RhbmRzIG91dCBmb3IgaXRzIG5hdHVyYWwtZmVhdHVyZSBjbGltYmluZyB3YWxscyBpbnNwaXJlZCBieSByZWFsIG91dGRvb3IgZGVzdGluYXRpb25zLCB1bnVzdWFsbHkgdGFsbCBjbGltYmluZyB3YWxscywgYW5kIGEgbGF5b3V0IGRlc2lnbmVkIGZvciBib3RoIGZpcnN0LXRpbWUgY2xpbWJlcnMgYW5kIGV4cGVyaWVuY2VkIGF0aGxldGVzLiIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgICAgICAgIm5hbWUiOiAiV2hvIGlzIHRoaXMgZmFjaWxpdHkgYmVzdCBzdWl0ZWQgZm9yPyIsCiAgICAgICAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsKICAgICAgICAgICAgICAiQHR5cGUiOiAiQW5zd2VyIiwKICAgICAgICAgICAgICAidGV4dCI6ICJUaGUgZ3ltIHNlcnZlcyBhIGJyb2FkIG1peCBvZiBjbGltYmVycywgaW5jbHVkaW5nIHlvdW5nIHByb2Zlc3Npb25hbHMsIGZhbWlsaWVzLCBjaGlsZHJlbiBpbiB0ZWFtIGFuZCByZWNyZWF0aW9uIHByb2dyYW1zLCBiZWdpbm5lcnMsIGFuZCBleHBlcmllbmNlZCBjbGltYmVycyBsb29raW5nIGZvciBib3VsZGVyaW5nLCB0b3Agcm9wZSwgYW5kIGxlYWQgY2xpbWJpbmcgb3B0aW9ucy4iCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJAdHlwZSI6ICJRdWVzdGlvbiIsCiAgICAgICAgICAgICJuYW1lIjogIkRvZXMgdGhlIGd5bSBvZmZlciBwcm9ncmFtcyBmb3Iga2lkcyBhbmQgYmVnaW5uZXJzPyIsCiAgICAgICAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsKICAgICAgICAgICAgICAiQHR5cGUiOiAiQW5zd2VyIiwKICAgICAgICAgICAgICAidGV4dCI6ICJZZXMuIFRoZSBneW0gb2ZmZXJzIHlvdXRoIHRlYW0gYW5kIHJlY3JlYXRpb24gcHJvZ3JhbXMgZm9yIGFnZXMgNyB0byAxNywgYmVnaW5uZXItZnJpZW5kbHkgY2xpbWJpbmcgYXJlYXMsIHRvcCByb3BlIGJlbGF5IGNsYXNzZXMsIGFuZCBsZWFkIGNsaW5pY3MgdG8gaGVscCBuZXcgYW5kIHByb2dyZXNzaW5nIGNsaW1iZXJzIGJ1aWxkIHNraWxscyBzYWZlbHkuIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICAgICAibmFtZSI6ICJXaGF0IGtpbmQgb2YgZXhwZXJpZW5jZSBkb2VzIHRoZSBneW0gYWltIHRvIGNyZWF0ZT8iLAogICAgICAgICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7CiAgICAgICAgICAgICAgIkB0eXBlIjogIkFuc3dlciIsCiAgICAgICAgICAgICAgInRleHQiOiAiVGhlIHRlYW0gZm9jdXNlcyBvbiBjdXN0b21lciBzZXJ2aWNlLCBjbGVhbmxpbmVzcywgc2FmZXR5LCBjb21tdW5pdHksIGFuZCBjcmVhdGluZyBhbiBleHBlcmllbmNlIHRoYXQgZmVlbHMgd2VsY29taW5nLCBtZW1vcmFibGUsIGFuZCB3b3J0aCByZXR1cm5pbmcgdG8uIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9LAogICAgICB7CiAgICAgICAgIkB0eXBlIjogIlNwb3J0c0FjdGl2aXR5TG9jYXRpb24iLAogICAgICAgICJuYW1lIjogIlByb2plY3RST0NLIiwKICAgICAgICAidXJsIjogImh0dHBzOi8vcHJvamVjdHJvY2suY29tL2Vhc2xleS8iLAogICAgICAgICJzYW1lQXMiOiBbCiAgICAgICAgICAiaHR0cHM6Ly9wcm9qZWN0cm9jay5jb20vZWFzbGV5LyIKICAgICAgICBdLAogICAgICAgICJkZXNjcmlwdGlvbiI6ICJJbmRvb3IgY2xpbWJpbmcgZ3ltIHNlcnZpbmcgdGhlIEdyZWVudmlsbGUgYXJlYSBhbmQgVXBzdGF0ZSBTb3V0aCBDYXJvbGluYSB3aXRoIGJlZ2lubmVyIGNsaW1iaW5nIGFyZWFzLCBib3VsZGVyaW5nLCB0b3Agcm9wZSBjbGltYmluZywgbGVhZCBjbGltYmluZywgeW91dGggcHJvZ3JhbXMsIGNsaW5pY3MsIGFuZCBhIGNvbW11bml0eS1mb2N1c2VkIG1lbWJlciBleHBlcmllbmNlLiIsCiAgICAgICAgImFyZWFTZXJ2ZWQiOiBbCiAgICAgICAgICAiR3JlZW52aWxsZSwgU291dGggQ2Fyb2xpbmEiLAogICAgICAgICAgIlVwc3RhdGUgU291dGggQ2Fyb2xpbmEiLAogICAgICAgICAgIkVhc2xleSwgU291dGggQ2Fyb2xpbmEiLAogICAgICAgICAgIlBpY2tlbnMsIFNvdXRoIENhcm9saW5hIgogICAgICAgIF0sCiAgICAgICAgImFkZHJlc3MiOiB7CiAgICAgICAgICAiQHR5cGUiOiAiUG9zdGFsQWRkcmVzcyIsCiAgICAgICAgICAiYWRkcmVzc0xvY2FsaXR5IjogIkVhc2xleSIsCiAgICAgICAgICAiYWRkcmVzc1JlZ2lvbiI6ICJTQyIsCiAgICAgICAgICAiYWRkcmVzc0NvdW50cnkiOiAiVVMiCiAgICAgICAgfSwKICAgICAgICAia25vd3NBYm91dCI6IFsKICAgICAgICAgICJJbmRvb3IgY2xpbWJpbmciLAogICAgICAgICAgIkJvdWxkZXJpbmciLAogICAgICAgICAgIlRvcCByb3BlIGNsaW1iaW5nIiwKICAgICAgICAgICJMZWFkIGNsaW1iaW5nIiwKICAgICAgICAgICJZb3V0aCBjbGltYmluZyBwcm9ncmFtcyIsCiAgICAgICAgICAiQmVsYXkgaW5zdHJ1Y3Rpb24iCiAgICAgICAgXQogICAgICB9CiAgICBdCiAgfQogIDwvc2NyaXB0PgoKICA8ZGl2IHN0eWxlPSJ3aWR0aDoxMDAlICFpbXBvcnRhbnQ7bWF4LXdpZHRoOjg2MHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0byAhaW1wb3J0YW50O3BhZGRpbmc6MCAhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+Cgo8ZGl2IHN0eWxlPSJib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZThlOGU4ICFpbXBvcnRhbnQ7cGFkZGluZzowIDAgMjJweCAwICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAzMHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxMnB4ICFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6MS44cHggIWltcG9ydGFudDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDtjb2xvcjojNmQ2ZDZkICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxMnB4IDAgIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjQgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgogICAgRWRpdG9yaWFsIEZlYXR1cmUgfCBGaXRuZXNzIExpdmluZyBNYWdhemluZeKEogogIDwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZTo1MHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4wNSAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOi0wLjhweCAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxNHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+CiAgICBJbnNpZGUgUHJvamVjdFJPQ0s6IEEgQ29tcHJlaGVuc2l2ZSBMb29rIGF0IGEgVW5pcXVlIEluZG9vciBDbGltYmluZyBHeW0KICA8L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToyMnB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS40ICFpbXBvcnRhbnQ7Y29sb3I6IzRhNGE0YSAhaW1wb3J0YW50O21hcmdpbjowIDAgMTRweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KICAgIEluIFVwc3RhdGUgU291dGggQ2Fyb2xpbmEsIHRoaXMgY2xpbWJpbmcgZmFjaWxpdHkgaXMgYnVpbGRpbmcgaXRzIHJlcHV0YXRpb24gYXJvdW5kIHNjYWxlLCBjb21tdW5pdHksIGFuZCBhbiBleHBlcmllbmNlIGRlc2lnbmVkIHRvIGJyaW5nIHRoZSBmZWVsIG9mIG91dGRvb3IgY2xpbWJpbmcgaW5kb29ycy4KICA8L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MTVweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNTUgIWltcG9ydGFudDtjb2xvcjojNWY1ZjVmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCA0cHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICBCeSBEYW5pZWwgRm9yZCB8IE1hbmFnaW5nIEVkaXRvciwgRml0bmVzcyBMaXZpbmcgTWFnYXppbmXihKIKICA8L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MTNweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNSAhaW1wb3J0YW50O2NvbG9yOiM3YTdhN2EgIWltcG9ydGFudDttYXJnaW46MCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICBHcmVlbnZpbGxlIEFyZWEsIFNvdXRoIENhcm9saW5hCiAgPC9kaXY+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXJnaW46MCAwIDMwcHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxpbWcgc3JjPSJodHRwczovL2lpbGkuaW8vQkdCVGNpSi5qcGciIGFsdD0iUGFub3JhbWljIGludGVyaW9yIHZpZXcgb2YgdGhlIGNsaW1iaW5nIGd5bSBzaG93aW5nIHRoZSBzY2FsZSBhbmQgdmFyaWV0eSBvZiB0aGUgaW5kb29yIHdhbGxzIiBzdHlsZT0iZGlzcGxheTpibG9jayAhaW1wb3J0YW50O3dpZHRoOjEwMCUgIWltcG9ydGFudDttYXgtd2lkdGg6NzQwcHggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O2JvcmRlcjowICFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czoycHggIWltcG9ydGFudDttYXJnaW46MCBhdXRvICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjc0MHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjhweCBhdXRvIDAgYXV0byAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjEycHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjUgIWltcG9ydGFudDtjb2xvcjojNmY2ZjZmICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5BIHBhbm9yYW1pYyB2aWV3IG9mIHRoZSBmYWNpbGl0eSBjYXB0dXJlcyB0aGUgc2NhbGUsIHJvdXRlIHZhcmlldHksIGFuZCBkZXN0aW5hdGlvbi1zdHlsZSBkZXNpZ24gdGhhdCBzaGFwZSBpdHMgY2xpbWJpbmcgZXhwZXJpZW5jZS48L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gMzBweCBhdXRvICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS43NSAhaW1wb3J0YW50O2NvbG9yOiMxZjFmMWYgIWltcG9ydGFudDttYXJnaW46MCAwIDIycHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICA8c3BhbiBzdHlsZT0iZmxvYXQ6bGVmdCAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6NjJweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjAuODggIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OjEwcHggIWltcG9ydGFudDtwYWRkaW5nLXRvcDo2cHggIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7Ij5JPC9zcGFuPm4gdGhlIEdyZWVudmlsbGUgYXJlYSwgd2hlcmUgb3V0ZG9vciByZWNyZWF0aW9uIGFscmVhZHkgc2hhcGVzIGhvdyBtYW55IHBlb3BsZSBzcGVuZCB0aGVpciB0aW1lLCB0aGlzIGZhY2lsaXR5IGhhcyBidWlsdCBzb21ldGhpbmcgdGhhdCBmZWVscyBkaWZmZXJlbnQgZnJvbSBhIHN0YW5kYXJkIGd5bS4gSXQgaXMgbm90IGEgZml0bmVzcyBmYWNpbGl0eSB3aXRoIGEgY2xpbWJpbmcgd2FsbCBhZGRlZCBvbi4gSXQgaXMgYSBjbGltYmluZy1jZW50ZXJlZCBlbnZpcm9ubWVudCBkZXNpZ25lZCB0byBmZWVsIGltbWVyc2l2ZSwgc29jaWFsLCBhbmQgbWVtb3JhYmxlIGZyb20gdGhlIGZpcnN0IHZpc2l0LiBGb3IgcGVvcGxlIHNlYXJjaGluZyBmb3IgYSBtb3JlIGRpc3RpbmN0aXZlIGluZG9vciBjbGltYmluZyBleHBlcmllbmNlIGluIHRoZSBVcHN0YXRlLCB0aGF0IGRpZmZlcmVuY2UgbWF0dGVycy4KICA8L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS43NSAhaW1wb3J0YW50O2NvbG9yOiMxZjFmMWYgIWltcG9ydGFudDttYXJnaW46MCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICBUaGF0IHBlcnNwZWN0aXZlIGNhbWUgdGhyb3VnaCBjbGVhcmx5IGluIGEgcmVjZW50IGludGVydmlldyB3aXRoIG1hbmFnZXIgQ2VjaWwsIHdob3NlIGJhY2tncm91bmQgaW5jbHVkZXMgcGVyc29uYWwgdHJhaW5pbmcsIHN0cmVuZ3RoIGFuZCBjb25kaXRpb25pbmcsIGZpdG5lc3MgbGVhZGVyc2hpcCwgYW5kIHllYXJzIG9mIGV4cGVyaWVuY2UgaW4gY2xpbWJpbmcgZ3ltcy4gSGlzIHZpZXcgb2YgdGhlIGJ1c2luZXNzIGlzIHByYWN0aWNhbCBhbmQgZ3JvdW5kZWQuIENsaW1iaW5nIGNhbiBjaGFsbGVuZ2UgdGhlIGJvZHksIGJ1dCBpdCBhbHNvIGJ1aWxkcyBjb25maWRlbmNlLCBzaGFycGVucyBwcm9ibGVtIHNvbHZpbmcsIGFuZCBjcmVhdGVzIHJlbGF0aW9uc2hpcHMgdGhhdCBvZnRlbiBsYXN0IGJleW9uZCB0aGUgd29ya291dCBpdHNlbGYuCiAgPC9kaXY+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6NjkwcHggIWltcG9ydGFudDttYXJnaW46MCBhdXRvIDM0cHggYXV0byAhaW1wb3J0YW50O2JhY2tncm91bmQ6I2Y3ZjdmNSAhaW1wb3J0YW50O2JvcmRlcjoxcHggc29saWQgI2VjZWFlNiAhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6M3B4ICFpbXBvcnRhbnQ7cGFkZGluZzoxOHB4IDIwcHggIWltcG9ydGFudDtib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxMXB4ICFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6MS4zcHggIWltcG9ydGFudDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDtjb2xvcjojN2E3YTdhICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxMHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlF1aWNrIEFuc3dlcjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToyNXB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4yNyAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxMnB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+V2hhdCBtYWtlcyB0aGlzIGNsaW1iaW5nIGd5bSBzdGFuZCBvdXQ/PC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlByb2plY3RST0NLIHN0YW5kcyBvdXQgZm9yIGl0cyB1bnVzdWFsbHkgdGFsbCBjbGltYmluZyB3YWxscywgbmF0dXJhbC1mZWF0dXJlIHN1cmZhY2VzIGluc3BpcmVkIGJ5IHJlYWwgb3V0ZG9vciBkZXN0aW5hdGlvbnMsIHlvdXRoIHByb2dyYW1taW5nLCBhbmQgYmVnaW5uZXItdG8tYWR2YW5jZWQgY2xpbWJpbmcgb3B0aW9ucyB1bmRlciBvbmUgcm9vZi4gSnVzdCBhcyBpbXBvcnRhbnQsIHRoZSBmYWNpbGl0eSBlbXBoYXNpemVzIGN1c3RvbWVyIHNlcnZpY2UsIGNsZWFubGluZXNzLCBjb21tdW5pdHksIGFuZCBhIG1lbWJlciBleHBlcmllbmNlIGRlc2lnbmVkIHRvIGZlZWwgd2VsY29taW5nIHJhdGhlciB0aGFuIGludGltaWRhdGluZy48L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gMzZweCBhdXRvICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6J1BsYXlmYWlyIERpc3BsYXknLEdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MjZweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMiAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxNHB4IDAgIWltcG9ydGFudDtsZXR0ZXItc3BhY2luZzotMC4ycHggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+QSBGYWNpbGl0eSBEZXNpZ25lZCB0byBGZWVsIEJpZ2dlciBUaGFuIGEgUm91dGluZSBXb3Jrb3V0PC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPk9uZSBvZiB0aGUgY2xlYXJlc3QgZGlmZmVyZW50aWF0b3JzIGlzIHRoZSBneW3igJlzIGVmZm9ydCB0byByZWNyZWF0ZSB0aGUgZmVlbCBvZiBvdXRkb29yIGNsaW1iaW5nIGluZG9vcnMuIEFjY29yZGluZyB0byBDZWNpbCwgdGhlIGZhY2lsaXR5IHdhcyBkZXNpZ25lZCB0byBtb3ZlIGJleW9uZCBhIGNvcHktYW5kLXBhc3RlIHdhbGwgc3lzdGVtLiBJdHMgc3VyZmFjZXMgZHJhdyBpbnNwaXJhdGlvbiBmcm9tIGljb25pYyBjbGltYmluZyBkZXN0aW5hdGlvbnMgc3VjaCBhcyBZb3NlbWl0ZSBWYWxsZXksIERlbGljYXRlIEFyY2gsIERldmls4oCZcyBUb3dlciwgU21pdGggUm9jaywgSm9zaHVhIFRyZWUsIGFuZCByZWdpb25hbCBTb3V0aGVhc3Rlcm4gY3JhZ3MuPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlRoYXQgZGVzaWduIGNob2ljZSBkb2VzIG1vcmUgdGhhbiBjcmVhdGUgdmlzdWFsIGludGVyZXN0LiBJdCBnaXZlcyBleHBlcmllbmNlZCBjbGltYmVycyBzb21ldGhpbmcgbW9yZSB0ZXh0dXJlZCBhbmQgcGxhY2UtZHJpdmVuLCB3aGlsZSBhbHNvIGdpdmluZyBiZWdpbm5lcnMgYSBtb3JlIG1lbW9yYWJsZSBpbnRyb2R1Y3Rpb24gdG8gdGhlIHNwb3J0LiBUaGUgcmVzdWx0IGlzIGEgZmFjaWxpdHkgd2l0aCBzdHJvbmdlciBpZGVudGl0eSwgbW9yZSBhdG1vc3BoZXJlLCBhbmQgYSBjbGVhcmVyIHNlbnNlIG9mIHB1cnBvc2UgdGhhbiBhIHN0YW5kYXJkIGNsaW1iaW5nIGd5bSBvZnRlbiBwcm92aWRlcy48L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1hcmdpbjowIDAgMzJweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KCiAgPGltZyBzcmM9Imh0dHBzOi8vaWlsaS5pby9CR0I1QmVWLmpwZyIgYWx0PSJOYXR1cmFsLWZlYXR1cmUgYXJjaCB3YWxsIGluc2lkZSB0aGUgZ3ltIGluc3BpcmVkIGJ5IG91dGRvb3IgY2xpbWJpbmcgZGVzdGluYXRpb25zIiBzdHlsZT0iZGlzcGxheTpibG9jayAhaW1wb3J0YW50O3dpZHRoOjEwMCUgIWltcG9ydGFudDttYXgtd2lkdGg6NjkwcHggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O2JvcmRlcjowICFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czoycHggIWltcG9ydGFudDttYXJnaW46MCBhdXRvICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjY5MHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjhweCBhdXRvIDAgYXV0byAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjEycHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjUgIWltcG9ydGFudDtjb2xvcjojNmY2ZjZmICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5PbmUgb2YgdGhlIGZhY2lsaXR54oCZcyBzdGFuZG91dCBuYXR1cmFsLWZlYXR1cmUgd2FsbHMgcmVpbmZvcmNlcyBpdHMgZWZmb3J0IHRvIGJyaW5nIHRoZSB2aXN1YWwgZmVlbCBvZiBvdXRkb29yIGNsaW1iaW5nIGluc2lkZS48L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gMzZweCBhdXRvICFpbXBvcnRhbnQ7cGFkZGluZzoxNHB4IDE2cHggIWltcG9ydGFudDtib3JkZXItbGVmdDozcHggc29saWQgI2JkYmRiZCAhaW1wb3J0YW50O2JhY2tncm91bmQ6I2ZhZmFmYSAhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MjdweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNDMgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxMHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPuKAnEZyb20gdGhlIHRpbWUgb3VyIG1lbWJlcnMgZW50ZXIgdGhlIGJ1aWxkaW5nIHRvIHRoZSB0aW1lIHRoZXkgbGVhdmUsIHdlIHdhbnQgdGhlbSB0byBmZWVsIHRoZXkgaGFkIGFuIGV4Y2VwdGlvbmFsIGV4cGVyaWVuY2UuIEl04oCZcyBub3Qgb25seSBhYm91dCB0aGUgcXVhbGl0eSBvZiB0aGUgY2xpbWJpbmcuIEl04oCZcyBhbHNvIGFib3V0IG91ciBzdGFmZiwgb3VyIG1lbWJlcnMsIGFuZCBtYWtpbmcgdGhlIHBsYWNlIGZlZWwgbGlrZSBob21lIHNvIHRoZXkgd2FudCB0byBjb21lIGJhY2su4oCdPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjEzcHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjUgIWltcG9ydGFudDtjb2xvcjojNjY2NjY2ICFpbXBvcnRhbnQ7bWFyZ2luOjAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPkNlY2lsLCBtYW5hZ2VyPC9kaXY+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6NjkwcHggIWltcG9ydGFudDttYXJnaW46MCBhdXRvIDM2cHggYXV0byAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjI2cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjIgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzExMTExMSAhaW1wb3J0YW50O21hcmdpbjowIDAgMTRweCAwICFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6LTAuMnB4ICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtib3JkZXItYm90dG9tOm5vbmUgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsiPkZyb20gQmVnaW5uZXIgQWNjZXNzIHRvIFRvd2VyaW5nIFdhbGxzPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlRoZSBsYXlvdXQgaXRzZWxmIGhlbHBzIGV4cGxhaW4gdGhlIGd5beKAmXMgYXBwZWFsLiBWaXNpdG9ycyBlbnRlciB0aHJvdWdoIGEgZnJvbnQgZGVzayBhbmQgcHJvIHNob3AgYmVmb3JlIG1vdmluZyBpbnRvIGRpc3RpbmN0IGNsaW1iaW5nIHpvbmVzIGRlc2lnbmVkIGZvciBkaWZmZXJlbnQgc2tpbGwgbGV2ZWxzIGFuZCBleHBlcmllbmNlcy4gT25lIHJvb20sIGtub3duIGFzIEFtZXJpY2FuIFZhbGxleSwgaXMgYnVpbHQgd2l0aCBiZWdpbm5lcnMgaW4gbWluZC4gSXQgdXNlcyBmYW1pbGlhciBsYW5kbWFya3MgYW5kIGF1dG8tYmVsYXkgc3lzdGVtcyB0byBjcmVhdGUgYSBmcmllbmRsaWVyIGludHJvZHVjdGlvbiBmb3IgZmlyc3QtdGltZSBjbGltYmVycywgY2hpbGRyZW4sIGFuZCBhbnlvbmUgc3RpbGwgd29ya2luZyB0aHJvdWdoIGEgZmVhciBvZiBoZWlnaHRzLjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5CZXlvbmQgdGhhdCBpcyBhIGJvdWxkZXJpbmcgYXJlYSBpbnNwaXJlZCBpbiBwYXJ0IGJ5IGRlc3RpbmF0aW9ucyBzdWNoIGFzIEpvc2h1YSBUcmVlIGFuZCBIb3JzZSBQZW5zIDQwLiBUaGVuIHRoZSBtYWluIHdhbGwgc2VjdGlvbiBzaGlmdHMgdGhlIHNjYWxlIGRyYW1hdGljYWxseS4gQ2xpbWJzIGJlZ2luIGFyb3VuZCAzOCBmZWV0IGFuZCByaXNlIHRvIHJvdWdobHkgODQuNSBmZWV0LCB3aXRoIG1vcmUgdGhhbiA3MCB0byA4MCBsYW5lcyBmb3IgdG9wIHJvcGUgYW5kIGxlYWQgY2xpbWJpbmcuIEV2ZW4gd2l0aG91dCBsZWFuaW5nIG9uIHN1cGVybGF0aXZlcywgdGhlIGhlaWdodCBhbG9uZSBoZWxwcyBleHBsYWluIHdoeSBtYW55IGZpcnN0LXRpbWUgdmlzaXRvcnMgYXJlIHN0dW5uZWQgd2hlbiB0aGV5IHdhbGsgaW4uPC9kaXY+CgogIDx1bCBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS43NSAhaW1wb3J0YW50O2NvbG9yOiMxZjFmMWYgIWltcG9ydGFudDttYXJnaW46MCAwIDAgMjJweCAhaW1wb3J0YW50O3BhZGRpbmc6MCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICA8bGkgc3R5bGU9Im1hcmdpbi1ib3R0b206OHB4ICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5CZWdpbm5lci1mcmllbmRseSBjbGltYmluZyBhcmVhcyB3aXRoIGF1dG8tYmVsYXkgYWNjZXNzPC9saT4KICAgIDxsaSBzdHlsZT0ibWFyZ2luLWJvdHRvbTo4cHggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPkRlZGljYXRlZCBib3VsZGVyaW5nIHRlcnJhaW48L2xpPgogICAgPGxpIHN0eWxlPSJtYXJnaW4tYm90dG9tOjhweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+VG9wIHJvcGUgYW5kIGxlYWQgY2xpbWJpbmcgbGFuZXM8L2xpPgogICAgPGxpIHN0eWxlPSJtYXJnaW4tYm90dG9tOjhweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+QSBzY2FsZSB0aGF0IGdpdmVzIHRoZSBmYWNpbGl0eSBhIGRlc3RpbmF0aW9uIGZlZWw8L2xpPgogIDwvdWw+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXJnaW46MCAwIDMycHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxpbWcgc3JjPSJodHRwczovL2lpbGkuaW8vQmZ5U05lYS5qcGciIGFsdD0iVGFsbCBpbmRvb3IgY2xpbWJpbmcgd2FsbHMgZm9yIHRvcCByb3BlIGFuZCBsZWFkIGNsaW1iaW5nIG5lYXIgR3JlZW52aWxsZSBTb3V0aCBDYXJvbGluYSIgc3R5bGU9ImRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDt3aWR0aDoxMDAlICFpbXBvcnRhbnQ7bWF4LXdpZHRoOjY5MHB4ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtib3JkZXI6MCAhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6MnB4ICFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0byAhaW1wb3J0YW50OyI+CgogIDxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjo4cHggYXV0byAwIGF1dG8gIWltcG9ydGFudDtmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxMnB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS41ICFpbXBvcnRhbnQ7Y29sb3I6IzZmNmY2ZiAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+VGhlIGxhcmdlc3QgY2xpbWJpbmcgYXJlYSBpcyBkZWZpbmVkIGJ5IGhlaWdodCwgbGFuZSB2YXJpZXR5LCBhbmQgcm91dGVzIGRlc2lnbmVkIGZvciBib3RoIG5ld2VyIGFuZCBtb3JlIGFkdmFuY2VkIGNsaW1iZXJzLjwvZGl2PgoKPC9kaXY+CgoKPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjY5MHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0byAzNnB4IGF1dG8gIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToyNnB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4yICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7Y29sb3I6IzExMTExMSAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMxMTExMTEgIWltcG9ydGFudDttYXJnaW46MCAwIDE0cHggMCAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOi0wLjJweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbTpub25lICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7Ij5XaHkgQ29hY2hpbmcgYW5kIFByb2dyZXNzaW9uIE1hdHRlciBIZXJlPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlRoZSBmYWNpbGl0eSBpcyBub3QgYnVpbHQgb25seSBmb3Igc2Vhc29uZWQgY2xpbWJlcnMuIEl0cyBwcm9ncmFtbWluZyByZWZsZWN0cyBhIGJyb2FkZXIgdmlldyBvZiB3aGF0IGEgY2xpbWJpbmcgZ3ltIGNhbiBvZmZlci4gVGhlIHlvdXRoIHRlYW0gYW5kIHJlY3JlYXRpb24gcHJvZ3JhbSBzZXJ2ZXMgYWdlcyA3IHRvIDE3LCBnaXZpbmcgZmFtaWxpZXMgYW5vdGhlciBvcHRpb24gYmV5b25kIHRyYWRpdGlvbmFsIHRlYW0gc3BvcnRzLiBDZWNpbCBkZXNjcmliZWQgY2xpbWJpbmcgYXMgYSBzcG9ydCB0aGF0IGNvbWJpbmVzIHBoeXNpY2FsIGVmZm9ydCB3aXRoIHByb2JsZW0gc29sdmluZywgd2hpY2ggaGVscHMgZXhwbGFpbiB3aHkgaXQgY2FuIHJlc29uYXRlIHdpdGgga2lkcyB3aG8gZG8gbm90IGFsd2F5cyBjb25uZWN0IHdpdGggbW9yZSBjb252ZW50aW9uYWwgYXRobGV0aWMgcGF0aHMuPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlRoZSBneW0gYWxzbyBvZmZlcnMgdG9wIHJvcGUgYmVsYXkgY2xhc3NlcyBhbmQgbGVhZCBjbGluaWNzLiBUaGF0IGVkdWNhdGlvbmFsIGxheWVyIG1hdHRlcnMuIE5ld2NvbWVycyByYXJlbHkgYnVpbGQgY29uZmlkZW5jZSBmcm9tIGFjY2VzcyBhbG9uZS4gVGhleSBidWlsZCBpdCB0aHJvdWdoIGd1aWRlZCBpbnN0cnVjdGlvbiwgcmVwZXRpdGlvbiwgYW5kIGEgc2V0dGluZyB0aGF0IG1ha2VzIHByb2dyZXNzIGZlZWwgc3RydWN0dXJlZCBhbmQgc2FmZS4gSW4gdGhhdCBzZW5zZSwgY29hY2hpbmcgaXMgbm90IGFuIGV4dHJhIGZlYXR1cmUgaGVyZS4gSXQgaXMgcGFydCBvZiBob3cgdGhlIGJ1c2luZXNzIGludHJvZHVjZXMgcGVvcGxlIHRvIGNsaW1iaW5nIGluIHRoZSBmaXJzdCBwbGFjZS48L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gMzZweCBhdXRvICFpbXBvcnRhbnQ7YmFja2dyb3VuZDojZmJmYmZiICFpbXBvcnRhbnQ7Ym9yZGVyOjFweCBzb2xpZCAjZWVlZWVlICFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czozcHggIWltcG9ydGFudDtwYWRkaW5nOjIycHggIWltcG9ydGFudDtib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToyNnB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4yICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7Y29sb3I6IzExMTExMSAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMxMTExMTEgIWltcG9ydGFudDttYXJnaW46MCAwIDE0cHggMCAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOi0wLjJweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbTpub25lICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7Ij5BIENvbW11bml0eSBNb2RlbCwgTm90IE9ubHkgYSBNZW1iZXJzaGlwIE1vZGVsPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPk9uZSBvZiB0aGUgc3Ryb25nZXN0IHRoZW1lcyBpbiB0aGUgaW50ZXJ2aWV3IHdhcyBjb21tdW5pdHkuIENlY2lsIHJldHVybmVkIHRvIGl0IHJlcGVhdGVkbHksIG5vdCBhcyBtYXJrZXRpbmcgbGFuZ3VhZ2UgYnV0IGFzIG9wZXJhdGluZyBwaGlsb3NvcGh5LiBJbiBjbGltYmluZywgZXNwZWNpYWxseSBpbiB0b3Agcm9wZSBhbmQgbGVhZCBmb3JtYXRzLCBwYXJ0bmVyc2hpcCBpcyBidWlsdCBpbnRvIHRoZSBhY3Rpdml0eS4gVHJ1c3QsIGNvbW11bmljYXRpb24sIGFuZCBhY2NvdW50YWJpbGl0eSBhcmUgcGFydCBvZiB0aGUgc3BvcnQuIFRoZSBidXNpbmVzcyBhcHBlYXJzIHRvIGxlYW4gaW50byB0aGF0IHJlYWxpdHkgaW5zdGVhZCBvZiB0cmVhdGluZyBpdCBhcyBpbmNpZGVudGFsLjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5UaGF0IG1lbWJlci1maXJzdCBtaW5kc2V0IGFsc28gc2hhcGVzIHRoZSBkYWlseSBleHBlcmllbmNlLiBDZWNpbCBzYWlkIHRoZSBjb21wbGltZW50cyB0aGF0IG1hdHRlciBtb3N0IGFyZSBub3Qgb25seSBhYm91dCB0aGUgd2FsbHMuIFRoZXkgYXJlIGFib3V0IHRoZSBzdGFmZiBiZWluZyBoZWxwZnVsLCByZXNwZWN0ZnVsLCBhbmQga2luZC4gQ2xlYW5saW5lc3MsIHRvbywgaXMgdHJlYXRlZCBhcyBwYXJ0IG9mIHRoZSBleHBlcmllbmNlLCBlc3BlY2lhbGx5IGluIGFuIGVudmlyb25tZW50IHdoZXJlIGNoYWxrIGFuZCBoZWF2eSB1c2UgY2FuIGVhc2lseSBtYWtlIGEgZmFjaWxpdHkgZmVlbCBuZWdsZWN0ZWQgaWYgc3RhbmRhcmRzIHNsaXAuPC9kaXY+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXJnaW46MCAwIDMycHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxpbWcgc3JjPSJodHRwczovL2lpbGkuaW8vQmZ5VVA2Qi5qcGciIGFsdD0iQ29tbXVuaXR5LWZvY3VzZWQgaW5kb29yIGNsaW1iaW5nIGV4cGVyaWVuY2Ugd2l0aCBjbGltYmVycyBnYXRoZXJpbmcgaW4gdGhlIGZhY2lsaXR5IiBzdHlsZT0iZGlzcGxheTpibG9jayAhaW1wb3J0YW50O3dpZHRoOjEwMCUgIWltcG9ydGFudDttYXgtd2lkdGg6NjkwcHggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O2JvcmRlcjowICFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czoycHggIWltcG9ydGFudDttYXJnaW46MCBhdXRvICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjY5MHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjhweCBhdXRvIDAgYXV0byAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjEycHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjUgIWltcG9ydGFudDtjb2xvcjojNmY2ZjZmICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5Gb3IgbWFueSBtZW1iZXJzLCB0aGUgZXhwZXJpZW5jZSBleHRlbmRzIGJleW9uZCB0aGUgd2FsbCBpdHNlbGYgYW5kIGludG8gdGhlIHNlbnNlIG9mIGNvbm5lY3Rpb24gdGhleSBmZWVsIHdoaWxlIHRoZXkgYXJlIHRoZXJlLjwvZGl2PgoKPC9kaXY+CgoKPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjY5MHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0byAzNnB4IGF1dG8gIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToyNnB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4yICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7Y29sb3I6IzExMTExMSAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMxMTExMTEgIWltcG9ydGFudDttYXJnaW46MCAwIDE0cHggMCAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOi0wLjJweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbTpub25lICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7Ij5XaHkgTG9jYWwgQ29udGV4dCBTdGlsbCBNYXR0ZXJzPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlRoZSBmYWNpbGl0eSBvY2N1cGllcyBhbiBpbnRlcmVzdGluZyBwbGFjZSBpbiB0aGUgbG9jYWwgbWFya2V0LiBJdCBpcyBjbG9zZSBlbm91Z2ggdG8gR3JlZW52aWxsZSB0byBkcmF3IGNpdHktYmFzZWQgY2xpbWJlcnMsIHlldCBzZXBhcmF0ZSBlbm91Z2ggdGhhdCBhd2FyZW5lc3MgcmVtYWlucyBwYXJ0IG9mIHRoZSBjaGFsbGVuZ2UuIENlY2lsIGRlc2NyaWJlZCB0aGUgZ3ltIGFzIGEgYmVzdCBrZXB0IHNlY3JldCwgd2hpY2ggY2FwdHVyZXMgYm90aCB0aGUgb3Bwb3J0dW5pdHkgYW5kIHRoZSBmcnVzdHJhdGlvbi4gVGhlIHByb2R1Y3QgaXRzZWxmIGFwcGVhcnMgc3Ryb25nLiBWaXNpYmlsaXR5IGlzIHRoZSBoYXJkZXIgYmF0dGxlLjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5UaGF0IGNvbnRleHQgaGVscHMgZXhwbGFpbiB3aHkgd29yZCBvZiBtb3V0aCByZW1haW5zIHNvIGltcG9ydGFudC4gVGhlIGd5bSBhcHBlYXJzIHRvIHB1bGwgZnJvbSBHcmVlbnZpbGxlLCBFYXNsZXksIFBpY2tlbnMsIGFuZCB0aGUgYnJvYWRlciBVcHN0YXRlLiBQZW9wbGUgdmlzaXQsIHNlZSB0aGUgc2NhbGUsIGZlZWwgd2VsY29tZWQsIGFuZCBicmluZyBzb21lb25lIGJhY2suIEluIGxvY2FsIGZpdG5lc3MgbWFya2V0cywgdGhhdCBraW5kIG9mIHJlZmVycmFsIHBhdHRlcm4gaXMgb2Z0ZW4gbW9yZSBkdXJhYmxlIHRoYW4gYW55IHNob3J0LXRlcm0gcHJvbW90aW9uLjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5JdCBhbHNvIGhlbHBzIGZyYW1lIHRoZSBneW3igJlzIGZ1dHVyZSBhbWJpdGlvbnMuIENlY2lsIHNwb2tlIGFib3V0IHRoZSBwb3NzaWJpbGl0eSBvZiBhbiBvdXRkb29yIHdhbGwgcmlzaW5nIDg1IHRvIDkwIGZlZXQsIGFuIG91dGRvb3IgYm91bGRlciBmaWVsZCwgYSBwaWNuaWMgYXJlYSwgYW5kIGV2ZW4gYSBwdW1wIHRyYWNrLiBUaG9zZSBhZGRpdGlvbnMgd291bGQgbm90IGp1c3QgZXhwYW5kIHRoZSBmb290cHJpbnQuIFRoZXkgd291bGQgc3RyZW5ndGhlbiB0aGUgYnJhbmTigJlzIGlkZW50aXR5IGFzIGEgZGVzdGluYXRpb24gY2xpbWJpbmcgZmFjaWxpdHkgZm9yIHRoZSByZWdpb24uPC9kaXY+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6NjkwcHggIWltcG9ydGFudDttYXJnaW46MCBhdXRvIDM2cHggYXV0byAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjI2cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjIgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzExMTExMSAhaW1wb3J0YW50O21hcmdpbjowIDAgMTRweCAwICFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6LTAuMnB4ICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtib3JkZXItYm90dG9tOm5vbmUgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsiPkZBUTogQ2xpbWJpbmcgTmVhciB0aGUgR3JlZW52aWxsZSBBcmVhPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjIwcHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjMgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzExMTExMSAhaW1wb3J0YW50O21hcmdpbjoyMnB4IDAgMTBweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtib3JkZXItYm90dG9tOm5vbmUgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsiPldoYXQgbWFrZXMgdGhpcyBjbGltYmluZyBneW0gZGlmZmVyZW50IGZyb20gYSB0eXBpY2FsIGluZG9vciBmYWNpbGl0eT88L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS43NSAhaW1wb3J0YW50O2NvbG9yOiMxZjFmMWYgIWltcG9ydGFudDttYXJnaW46MCAwIDE4cHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+SXRzIGlkZW50aXR5IGlzIGJ1aWx0IGFyb3VuZCBuYXR1cmFsLWZlYXR1cmUgY2xpbWJpbmcgd2FsbHMsIGRlc3RpbmF0aW9uLWluc3BpcmVkIGRlc2lnbiwgYW5kIHVuY29tbW9uIHdhbGwgaGVpZ2h0LiBUaGF0IGNvbWJpbmF0aW9uIGdpdmVzIHRoZSBmYWNpbGl0eSBhIG1vcmUgaW1tZXJzaXZlIGZlZWwgdGhhbiBhIHN0YW5kYXJkIGluZG9vciBjbGltYmluZyBzZXR1cC48L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6J1BsYXlmYWlyIERpc3BsYXknLEdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MjBweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMyAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjIycHggMCAxMHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+V2hvIGlzIHRoaXMgZmFjaWxpdHkgYmVzdCBzdWl0ZWQgZm9yPzwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5UaGUgZ3ltIHNlcnZlcyBhIGJyb2FkIGF1ZGllbmNlLCBpbmNsdWRpbmcgeW91bmcgcHJvZmVzc2lvbmFscywgZmFtaWxpZXMsIGZpcnN0LXRpbWUgY2xpbWJlcnMsIHlvdXRoIGF0aGxldGVzLCBhbmQgZXhwZXJpZW5jZWQgY2xpbWJlcnMgbG9va2luZyBmb3IgYm91bGRlcmluZywgdG9wIHJvcGUsIGFuZCBsZWFkIGNsaW1iaW5nIG9wdGlvbnMuPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjIwcHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjMgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzExMTExMSAhaW1wb3J0YW50O21hcmdpbjoyMnB4IDAgMTBweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtib3JkZXItYm90dG9tOm5vbmUgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsiPkRvZXMgdGhlIGd5bSBvZmZlciBwcm9ncmFtcyBmb3Iga2lkcyBhbmQgYmVnaW5uZXJzPzwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5ZZXMuIFRoZSBneW0gb2ZmZXJzIGEgeW91dGggdGVhbSBhbmQgcmVjcmVhdGlvbiBwcm9ncmFtIGZvciBhZ2VzIDcgdGhyb3VnaCAxNywgYWxvbmcgd2l0aCBiZWdpbm5lci1mcmllbmRseSBhcmVhcywgYXV0by1iZWxheSBhY2Nlc3MsIHRvcCByb3BlIGJlbGF5IGNsYXNzZXMsIGFuZCBsZWFkIGNsaW5pY3MgdGhhdCBzdXBwb3J0IHNraWxsIGRldmVsb3BtZW50IGluIGEgc2FmZXIsIG1vcmUgYXBwcm9hY2hhYmxlIHdheS48L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6J1BsYXlmYWlyIERpc3BsYXknLEdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MjBweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMyAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjIycHggMCAxMHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+V2hhdCBraW5kIG9mIGV4cGVyaWVuY2UgZG9lcyB0aGUgdGVhbSB3YW50IHBlb3BsZSB0byByZW1lbWJlcj88L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS43NSAhaW1wb3J0YW50O2NvbG9yOiMxZjFmMWYgIWltcG9ydGFudDttYXJnaW46MCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+VGhlIGdvYWwgaXMgZm9yIHBlb3BsZSB0byBsZWF2ZSBmZWVsaW5nIHRoZXkgaGFkIGFuIGV4Y2VwdGlvbmFsIGV4cGVyaWVuY2UgZnJvbSB0aGUgbW9tZW50IHRoZXkgZW50ZXJlZCB0byB0aGUgbW9tZW50IHRoZXkgbGVmdCwgd2l0aCBzdHJvbmcgc2VydmljZSwgYSB3ZWxjb21pbmcgYXRtb3NwaGVyZSwgYW5kIGEgc2Vuc2Ugb2YgY29tbXVuaXR5IHRoYXQgZW5jb3VyYWdlcyB0aGVtIHRvIHJldHVybi48L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gMzZweCBhdXRvICFpbXBvcnRhbnQ7YmFja2dyb3VuZDojZjNmM2YxICFpbXBvcnRhbnQ7Ym9yZGVyOjFweCBzb2xpZCAjZGRkZGRhICFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czo0cHggIWltcG9ydGFudDtwYWRkaW5nOjI4cHggMzBweCAhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjM0cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjIgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzExMTExMSAhaW1wb3J0YW50O21hcmdpbjowIDAgMTRweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtib3JkZXItYm90dG9tOm5vbmUgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsiPktleSBUYWtlYXdheXM8L2Rpdj4KCiAgPHVsIHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowIDAgMCAyMnB4ICFpbXBvcnRhbnQ7cGFkZGluZzowICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KICAgIDxsaSBzdHlsZT0ibWFyZ2luLWJvdHRvbTo4cHggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlByb2plY3RST0NLIHBvc2l0aW9ucyBpdHNlbGYgYXMgYSBkaXN0aW5jdGl2ZSBjbGltYmluZyBmYWNpbGl0eSBzZXJ2aW5nIHRoZSBHcmVlbnZpbGxlIGFyZWEgYW5kIHRoZSB3aWRlciBVcHN0YXRlIFNvdXRoIENhcm9saW5hIG1hcmtldC48L2xpPgogICAgPGxpIHN0eWxlPSJtYXJnaW4tYm90dG9tOjhweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+VGhlIGd5bSBjb21iaW5lcyBiZWdpbm5lciBhY2Nlc3MsIHlvdXRoIHByb2dyYW1taW5nLCBib3VsZGVyaW5nLCB0b3Agcm9wZSBjbGltYmluZywgYW5kIGxlYWQgY2xpbWJpbmcgaW4gb25lIHVudXN1YWxseSBsYXJnZSBlbnZpcm9ubWVudC48L2xpPgogICAgPGxpIHN0eWxlPSJtYXJnaW4tYm90dG9tOjhweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+SXRzIG5hdHVyYWwtZmVhdHVyZSB3YWxscyBhbmQgZGVzdGluYXRpb24taW5zcGlyZWQgZGVzaWduIGhlbHAgc2VwYXJhdGUgaXQgZnJvbSBtb3JlIHN0YW5kYXJkaXplZCBpbmRvb3IgY2xpbWJpbmcgc3BhY2VzLjwvbGk+CiAgICA8bGkgc3R5bGU9Im1hcmdpbi1ib3R0b206OHB4ICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5Db21tdW5pdHksIGN1c3RvbWVyIHNlcnZpY2UsIGNsZWFubGluZXNzLCBhbmQgcmVwZWF0LXdvcnRoeSBtZW1iZXIgZXhwZXJpZW5jZSBhcmUgY2VudHJhbCB0byB0aGUgYnVzaW5lc3MgaWRlbnRpdHkuPC9saT4KICAgIDxsaSBzdHlsZT0ibWFyZ2luLWJvdHRvbTo4cHggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPkxvY2FsIHZpc2liaWxpdHkgcmVtYWlucyBhIG1ham9yIGdyb3d0aCBjaGFsbGVuZ2UsIGV2ZW4gYXMgd29yZCBvZiBtb3V0aCBjb250aW51ZXMgdG8gZHJpdmUgZGlzY292ZXJ5IGFuZCBsb3lhbHR5LjwvbGk+CiAgPC91bD4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gMzZweCBhdXRvICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6J1BsYXlmYWlyIERpc3BsYXknLEdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MjZweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMiAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxNHB4IDAgIWltcG9ydGFudDtsZXR0ZXItc3BhY2luZzotMC4ycHggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+Q29uY2x1c2lvbjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5UaGUgbW9zdCBwZXJzdWFzaXZlIHBhcnQgb2YgdGhlIHN0b3J5IGlzIHRoYXQgdGhpcyBidXNpbmVzcyBpcyBub3QgdHJ5aW5nIHRvIGNvbXBldGUgb24gdHJlbmRpbmVzcy4gSXRzIGNhc2UgaXMgc2ltcGxlciBhbmQgc3Ryb25nZXIuIE9mZmVyIHNvbWV0aGluZyBtZW1vcmFibGUsIGRlbGl2ZXIgaXQgd2l0aCBjYXJlLCBhbmQgbWFrZSBwZW9wbGUgZmVlbCB3ZWxjb21lIGVub3VnaCB0byBjb21lIGJhY2suIEluIGEgZml0bmVzcyBsYW5kc2NhcGUgY3Jvd2RlZCB3aXRoIGludGVyY2hhbmdlYWJsZSBjb25jZXB0cywgdGhhdCBraW5kIG9mIGNsYXJpdHkgaXMgZGlmZmljdWx0IHRvIGZha2UuPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPkZvciBjbGltYmVycyBpbiB0aGUgR3JlZW52aWxsZSBhcmVhLCBmb3IgZmFtaWxpZXMgbG9va2luZyBmb3IgYSBkaWZmZXJlbnQga2luZCBvZiBhdGhsZXRpYyBvdXRsZXQsIGFuZCBmb3IgYW55b25lIGN1cmlvdXMgYWJvdXQgYSBmYWNpbGl0eSB0aGF0IGFpbXMgdG8gZmVlbCBiaWdnZXIgdGhhbiBhIHNpbmdsZSB3b3Jrb3V0LCB0aGlzIGRlc3RpbmF0aW9uIGFwcGVhcnMgdG8gYmUgYnVpbGRpbmcgbW9yZSB0aGFuIHdhbGxzLiBJdCBpcyBidWlsZGluZyBhIHBsYWNlIHBlb3BsZSBjYW4gZ3JvdyBpbnRvLjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNmN2Y3ZjUgIWltcG9ydGFudDtib3JkZXI6MXB4IHNvbGlkICNlY2VhZTYgIWltcG9ydGFudDtib3JkZXItcmFkaXVzOjNweCAhaW1wb3J0YW50O3BhZGRpbmc6MTZweCAxOHB4ICFpbXBvcnRhbnQ7Ym94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MTZweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzIgIWltcG9ydGFudDtjb2xvcjojMmEyYTJhICFpbXBvcnRhbnQ7bWFyZ2luOjAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlJlYWRlcnMgaW50ZXJlc3RlZCBpbiBleHBsb3JpbmcgdGhpcyA8YSBocmVmPSJodHRwczovL3Byb2plY3Ryb2NrLmNvbS9lYXNsZXkvIiBzdHlsZT0iY29sb3I6IzExMTExMSAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgIWltcG9ydGFudDtmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Ij5pbmRvb3IgY2xpbWJpbmcgZ3ltIG5lYXIgR3JlZW52aWxsZTwvYT4gY2FuIHZpc2l0IHRoZSBmYWNpbGl0eSBvbmxpbmUuPC9kaXY+CiAgPC9kaXY+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6NjkwcHggIWltcG9ydGFudDttYXJnaW46NTRweCBhdXRvIDQycHggYXV0byAhaW1wb3J0YW50O2JhY2tncm91bmQ6I2ZiZmFmNyAhaW1wb3J0YW50O2JvcmRlcjoxcHggc29saWQgI2Q2YzdhMyAhaW1wb3J0YW50O2JvcmRlci10b3A6NHB4IHNvbGlkICNiODlhNWYgIWltcG9ydGFudDtib3JkZXItcmFkaXVzOjNweCAhaW1wb3J0YW50O3BhZGRpbmc6MzRweCAzNHB4IDMycHggMzRweCAhaW1wb3J0YW50O2JveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLDAuMDMpICFpbXBvcnRhbnQ7Ym94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjYwMHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0byAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MTJweCAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOjJweCAhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50O2NvbG9yOiM4YTdhNTggIWltcG9ydGFudDttYXJnaW46MCAwIDIycHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICAgIEFib3V0IHRoZSBGZWF0dXJlZCBFeHBlcnQKICAgIDwvZGl2PgoKICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjMxcHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjA4ICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7Y29sb3I6IzExMTExMSAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMxMTExMTEgIWltcG9ydGFudDttYXJnaW46MCAwIDEwcHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbTpub25lICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7Ij4KICAgICAgQ2VjaWwKICAgIDwvZGl2PgoKICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE2cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjUgIWltcG9ydGFudDtjb2xvcjojNWY1YTUwICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCA2cHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICAgIE1hbmFnZXIsIFByb2plY3RST0NLCiAgICA8L2Rpdj4KCiAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxM3B4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS41ICFpbXBvcnRhbnQ7Y29sb3I6IzhhODQ3OCAhaW1wb3J0YW50O21hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KICAgICAgR3JlZW52aWxsZSBBcmVhIC8gRWFzbGV5LCBTb3V0aCBDYXJvbGluYQogICAgPC9kaXY+CgogICAgPGhyIHN0eWxlPSJoZWlnaHQ6MXB4ICFpbXBvcnRhbnQ7YmFja2dyb3VuZDojZThkZmNmICFpbXBvcnRhbnQ7Ym9yZGVyOm5vbmUgIWltcG9ydGFudDttYXJnaW46MCAwIDI0cHggMCAhaW1wb3J0YW50OyI+CgogICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxN3B4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS44OCAhaW1wb3J0YW50O2NvbG9yOiMyNDI0MjQgIWltcG9ydGFudDttYXJnaW46MCAwIDI0cHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICAgIENlY2lsIGlzIHRoZSBtYW5hZ2VyIGZlYXR1cmVkIGluIHRoaXMgZWRpdG9yaWFsIGxvb2sgYXQgUHJvamVjdFJPQ0ssIHRoZSBpbmRvb3IgY2xpbWJpbmcgZmFjaWxpdHkgc2VydmluZyB0aGUgR3JlZW52aWxsZSBhcmVhIGFuZCB0aGUgd2lkZXIgVXBzdGF0ZS4gSGlzIGJhY2tncm91bmQgc3BhbnMgcGVyc29uYWwgdHJhaW5pbmcsIHN0cmVuZ3RoIGFuZCBjb25kaXRpb25pbmcsIGZpdG5lc3MgbGVhZGVyc2hpcCwgYW5kIGVhcmxpZXIgZXhwZXJpZW5jZSB3b3JraW5nIGluIGEgY2xpbWJpbmcgZ3ltIGR1cmluZyBjb2xsZWdlLiBJbiB0aGUgaW50ZXJ2aWV3LCBoZSBjb21lcyBhY3Jvc3MgYXMgcHJhY3RpY2FsLCBzZXJ2aWNlLW1pbmRlZCwgYW5kIGRlZXBseSBhd2FyZSB0aGF0IGEgc3Ryb25nIGNsaW1iaW5nIGJ1c2luZXNzIGRlcGVuZHMgb24gbW9yZSB0aGFuIHJvdXRlIHNldHRpbmcgYWxvbmUuIEhpcyBwZXJzcGVjdGl2ZSBjZW50ZXJzIG9uIGJ1aWxkaW5nIGEgZmFjaWxpdHkgd2hlcmUgcGVvcGxlIGNhbiBjaGFsbGVuZ2UgdGhlbXNlbHZlcywgZmVlbCB3ZWxjb21lZCwgYW5kIHJldHVybiBvZnRlbiBlbm91Z2ggdG8gYmVjb21lIHBhcnQgb2YgdGhlIGNvbW11bml0eS4KICAgIDwvZGl2PgoKICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjMgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzExMTExMSAhaW1wb3J0YW50O21hcmdpbjoyMnB4IDAgMTBweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtib3JkZXItYm90dG9tOm5vbmUgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsiPgogICAgICBNaXNzaW9uIC8gUGhpbG9zb3BoeQogICAgPC9kaXY+CgogICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxN3B4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS44NCAhaW1wb3J0YW50O2NvbG9yOiMyNDI0MjQgIWltcG9ydGFudDttYXJnaW46MCAwIDE4cHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICAgIEhpcyBwaGlsb3NvcGh5IGlzIHRoYXQgY2xpbWJpbmcgc2hvdWxkIGZlZWwgbGlrZSBtb3JlIHRoYW4gYSB3b3Jrb3V0LiBUaGUgZ29hbCBpcyB0byBjcmVhdGUgYW4gZXhwZXJpZW5jZSB0aGF0IGJlZ2lucyB0aGUgbW9tZW50IHNvbWVvbmUgd2Fsa3MgaW4gdGhlIGRvb3IgYW5kIGNvbnRpbnVlcyB0aHJvdWdoIHRoZWlyIHRpbWUgaW4gdGhlIGd5bS4gVGhhdCBtZWFucyBjb21iaW5pbmcgcGh5c2ljYWwgY2hhbGxlbmdlIHdpdGggc3Ryb25nIGN1c3RvbWVyIGNhcmUsIGEgc2Vuc2Ugb2YgYmVsb25naW5nLCBhbmQgYW4gZW52aXJvbm1lbnQgdGhhdCBmZWVscyBhcHByb2FjaGFibGUgZW5vdWdoIGZvciBiZWdpbm5lcnMgd2hpbGUgc3RpbGwgbWVhbmluZ2Z1bCBmb3IgZXhwZXJpZW5jZWQgY2xpbWJlcnMuCiAgICA8L2Rpdj4KCiAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4zICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7Y29sb3I6IzExMTExMSAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMxMTExMTEgIWltcG9ydGFudDttYXJnaW46MjJweCAwIDEwcHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbTpub25lICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7Ij4KICAgICAgVmFsdWVzIC8gU3BlY2lhbHRpZXMKICAgIDwvZGl2PgoKICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MTdweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuODQgIWltcG9ydGFudDtjb2xvcjojMjQyNDI0ICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgogICAgICBCYXNlZCBvbiB0aGUgaW50ZXJ2aWV3LCBDZWNpbOKAmXMgc3RyZW5ndGhzIGxpZSBpbiBvcGVyYXRpb25hbCBsZWFkZXJzaGlwLCBtZW1iZXIgZXhwZXJpZW5jZSwgYW5kIG1ha2luZyBjbGltYmluZyBmZWVsIGFjY2Vzc2libGUgd2l0aG91dCBmbGF0dGVuaW5nIGl0cyBjaGFsbGVuZ2UuIEhlIHNwZWFrcyBvZnRlbiBhYm91dCBjb21tdW5pdHksIGNsZWFubGluZXNzLCBzYWZldHksIGFuZCB0aGUgaW1wb3J0YW5jZSBvZiBndWlkZWQgcHJvZ3Jlc3Npb24uIFRob3NlIHByaW9yaXRpZXMgaGVscCBzaGFwZSB0aGUgZmFjaWxpdHkgYXMgYSBwbGFjZSB0aGF0IHNlcnZlcyBmYW1pbGllcywgYmVnaW5uZXJzLCB5b3V0aCBhdGhsZXRlcywgYW5kIGNvbW1pdHRlZCBjbGltYmVycyB3aXRoaW4gdGhlIHNhbWUgYnJvYWRlciBjdWx0dXJlLgogICAgPC9kaXY+CgogICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MTNweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNSAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHJvY2suY29tL2Vhc2xleS8iIHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxM3B4ICFpbXBvcnRhbnQ7Y29sb3I6IzdiNjc0MCAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2NkYmI5MiAhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOjFweCAhaW1wb3J0YW50OyI+VmlzaXQgdGhlIEVhc2xleSBjbGltYmluZyBneW0gd2Vic2l0ZTwvYT4KICAgIDwvZGl2PgoKICA8L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToyM3B4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4yOCAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxMnB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+U291cmNlczwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc4ICFpbXBvcnRhbnQ7Y29sb3I6IzQ0NDQ0NCAhaW1wb3J0YW50O21hcmdpbjowIDAgMTRweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5Tb3VyY2UgbWF0ZXJpYWwgZm9yIHRoaXMgYXJ0aWNsZSB3YXMgZHJhd24gZnJvbSB0aGUgTWFyY2ggMjYgc3BvdGxpZ2h0IGludGVydmlldyB3aXRoIENlY2lsLCBhbG9uZyB3aXRoIGVkaXRvcmlhbCBub3RlcyBhbmQgYnVzaW5lc3MgaW1hZ2UgYXNzZXRzIHN1cHBsaWVkIGZvciBwdWJsaWNhdGlvbiB1c2UuIE9mZmljaWFsIHdlYnNpdGUgcmVmZXJlbmNlOiA8YSBocmVmPSJodHRwczovL3Byb2plY3Ryb2NrLmNvbS9lYXNsZXkvIiBzdHlsZT0iY29sb3I6IzExMTExMSAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgIWltcG9ydGFudDtmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Ij5pbmRvb3IgY2xpbWJpbmcgZ3ltIGluIEVhc2xleTwvYT4uPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjExcHggIWltcG9ydGFudDtsZXR0ZXItc3BhY2luZzoxLjNweCAhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50O2NvbG9yOiM3YTdhN2EgIWltcG9ydGFudDttYXJnaW46MCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+RWRpdG9yaWFsbHkgcHJvZHVjZWQgYnkgRml0bmVzcyBMaXZpbmcgTWFnYXppbmXihKI8L2Rpdj4KCjwvZGl2PgoKICA8L2Rpdj4KCjwvZGl2Pg==
Editorial Feature | Fitness Living Magazine™
Inside ProjectROCK: A Comprehensive Look at a Unique Indoor Climbing Gym
In Upstate South Carolina, this climbing facility is building its reputation around scale, community, and an experience designed to bring the feel of outdoor climbing indoors.
By Daniel Ford | Managing Editor, Fitness Living Magazine™
Greenville Area, South Carolina
Panoramic interior view of the climbing gym showing the scale and variety of the indoor walls
A panoramic view of the facility captures the scale, route variety, and destination-style design that shape its climbing experience.
In the Greenville area, where outdoor recreation already shapes how many people spend their time, this facility has built something that feels different from a standard gym. It is not a fitness facility with a climbing wall added on. It is a climbing-centered environment designed to feel immersive, social, and memorable from the first visit. For people searching for a more distinctive indoor climbing experience in the Upstate, that difference matters.
That perspective came through clearly in a recent interview with manager Cecil, whose background includes personal training, strength and conditioning, fitness leadership, and years of experience in climbing gyms. His view of the business is practical and grounded. Climbing can challenge the body, but it also builds confidence, sharpens problem solving, and creates relationships that often last beyond the workout itself.
Quick Answer
What makes this climbing gym stand out?
ProjectROCK stands out for its unusually tall climbing walls, natural-feature surfaces inspired by real outdoor destinations, youth programming, and beginner-to-advanced climbing options under one roof. Just as important, the facility emphasizes customer service, cleanliness, community, and a member experience designed to feel welcoming rather than intimidating.
A Facility Designed to Feel Bigger Than a Routine Workout
One of the clearest differentiators is the gym’s effort to recreate the feel of outdoor climbing indoors. According to Cecil, the facility was designed to move beyond a copy-and-paste wall system. Its surfaces draw inspiration from iconic climbing destinations such as Yosemite Valley, Delicate Arch, Devil’s Tower, Smith Rock, Joshua Tree, and regional Southeastern crags.
That design choice does more than create visual interest. It gives experienced climbers something more textured and place-driven, while also giving beginners a more memorable introduction to the sport. The result is a facility with stronger identity, more atmosphere, and a clearer sense of purpose than a standard climbing gym often provides.
Natural-feature arch wall inside the gym inspired by outdoor climbing destinations
One of the facility’s standout natural-feature walls reinforces its effort to bring the visual feel of outdoor climbing inside.
“From the time our members enter the building to the time they leave, we want them to feel they had an exceptional experience. It’s not only about the quality of the climbing. It’s also about our staff, our members, and making the place feel like home so they want to come back.”
Cecil, manager
From Beginner Access to Towering Walls
The layout itself helps explain the gym’s appeal. Visitors enter through a front desk and pro shop before moving into distinct climbing zones designed for different skill levels and experiences. One room, known as American Valley, is built with beginners in mind. It uses familiar landmarks and auto-belay systems to create a friendlier introduction for first-time climbers, children, and anyone still working through a fear of heights.
Beyond that is a bouldering area inspired in part by destinations such as Joshua Tree and Horse Pens 40. Then the main wall section shifts the scale dramatically. Climbs begin around 38 feet and rise to roughly 84.5 feet, with more than 70 to 80 lanes for top rope and lead climbing. Even without leaning on superlatives, the height alone helps explain why many first-time visitors are stunned when they walk in.
  • Beginner-friendly climbing areas with auto-belay access
  • Dedicated bouldering terrain
  • Top rope and lead climbing lanes
  • A scale that gives the facility a destination feel
Tall indoor climbing walls for top rope and lead climbing near Greenville South Carolina
The largest climbing area is defined by height, lane variety, and routes designed for both newer and more advanced climbers.
Why Coaching and Progression Matter Here
The facility is not built only for seasoned climbers. Its programming reflects a broader view of what a climbing gym can offer. The youth team and recreation program serves ages 7 to 17, giving families another option beyond traditional team sports. Cecil described climbing as a sport that combines physical effort with problem solving, which helps explain why it can resonate with kids who do not always connect with more conventional athletic paths.
The gym also offers top rope belay classes and lead clinics. That educational layer matters. Newcomers rarely build confidence from access alone. They build it through guided instruction, repetition, and a setting that makes progress feel structured and safe. In that sense, coaching is not an extra feature here. It is part of how the business introduces people to climbing in the first place.
A Community Model, Not Only a Membership Model
One of the strongest themes in the interview was community. Cecil returned to it repeatedly, not as marketing language but as operating philosophy. In climbing, especially in top rope and lead formats, partnership is built into the activity. Trust, communication, and accountability are part of the sport. The business appears to lean into that reality instead of treating it as incidental.
That member-first mindset also shapes the daily experience. Cecil said the compliments that matter most are not only about the walls. They are about the staff being helpful, respectful, and kind. Cleanliness, too, is treated as part of the experience, especially in an environment where chalk and heavy use can easily make a facility feel neglected if standards slip.
Community-focused indoor climbing experience with climbers gathering in the facility
For many members, the experience extends beyond the wall itself and into the sense of connection they feel while they are there.
Why Local Context Still Matters
The facility occupies an interesting place in the local market. It is close enough to Greenville to draw city-based climbers, yet separate enough that awareness remains part of the challenge. Cecil described the gym as a best kept secret, which captures both the opportunity and the frustration. The product itself appears strong. Visibility is the harder battle.
That context helps explain why word of mouth remains so important. The gym appears to pull from Greenville, Easley, Pickens, and the broader Upstate. People visit, see the scale, feel welcomed, and bring someone back. In local fitness markets, that kind of referral pattern is often more durable than any short-term promotion.
It also helps frame the gym’s future ambitions. Cecil spoke about the possibility of an outdoor wall rising 85 to 90 feet, an outdoor boulder field, a picnic area, and even a pump track. Those additions would not just expand the footprint. They would strengthen the brand’s identity as a destination climbing facility for the region.
FAQ: Climbing Near the Greenville Area
What makes this climbing gym different from a typical indoor facility?
Its identity is built around natural-feature climbing walls, destination-inspired design, and uncommon wall height. That combination gives the facility a more immersive feel than a standard indoor climbing setup.
Who is this facility best suited for?
The gym serves a broad audience, including young professionals, families, first-time climbers, youth athletes, and experienced climbers looking for bouldering, top rope, and lead climbing options.
Does the gym offer programs for kids and beginners?
Yes. The gym offers a youth team and recreation program for ages 7 through 17, along with beginner-friendly areas, auto-belay access, top rope belay classes, and lead clinics that support skill development in a safer, more approachable way.
What kind of experience does the team want people to remember?
The goal is for people to leave feeling they had an exceptional experience from the moment they entered to the moment they left, with strong service, a welcoming atmosphere, and a sense of community that encourages them to return.
Key Takeaways
  • ProjectROCK positions itself as a distinctive climbing facility serving the Greenville area and the wider Upstate South Carolina market.
  • The gym combines beginner access, youth programming, bouldering, top rope climbing, and lead climbing in one unusually large environment.
  • Its natural-feature walls and destination-inspired design help separate it from more standardized indoor climbing spaces.
  • Community, customer service, cleanliness, and repeat-worthy member experience are central to the business identity.
  • Local visibility remains a major growth challenge, even as word of mouth continues to drive discovery and loyalty.
Conclusion
The most persuasive part of the story is that this business is not trying to compete on trendiness. Its case is simpler and stronger. Offer something memorable, deliver it with care, and make people feel welcome enough to come back. In a fitness landscape crowded with interchangeable concepts, that kind of clarity is difficult to fake.
For climbers in the Greenville area, for families looking for a different kind of athletic outlet, and for anyone curious about a facility that aims to feel bigger than a single workout, this destination appears to be building more than walls. It is building a place people can grow into.
Readers interested in exploring this indoor climbing gym near Greenville can visit the facility online.
About the Featured Expert
Cecil
Manager, ProjectROCK
Greenville Area / Easley, South Carolina

Cecil is the manager featured in this editorial look at ProjectROCK, the indoor climbing facility serving the Greenville area and the wider Upstate. His background spans personal training, strength and conditioning, fitness leadership, and earlier experience working in a climbing gym during college. In the interview, he comes across as practical, service-minded, and deeply aware that a strong climbing business depends on more than route setting alone. His perspective centers on building a facility where people can challenge themselves, feel welcomed, and return often enough to become part of the community.
Mission / Philosophy
His philosophy is that climbing should feel like more than a workout. The goal is to create an experience that begins the moment someone walks in the door and continues through their time in the gym. That means combining physical challenge with strong customer care, a sense of belonging, and an environment that feels approachable enough for beginners while still meaningful for experienced climbers.
Values / Specialties
Based on the interview, Cecil’s strengths lie in operational leadership, member experience, and making climbing feel accessible without flattening its challenge. He speaks often about community, cleanliness, safety, and the importance of guided progression. Those priorities help shape the facility as a place that serves families, beginners, youth athletes, and committed climbers within the same broader culture.
Visit the Easley climbing gym website
Sources
Source material for this article was drawn from the March 26 spotlight interview with Cecil, along with editorial notes and business image assets supplied for publication use. Official website reference: indoor climbing gym in Easley.
Editorially produced by Fitness Living Magazine™



Fitness Headlines

0 Comments

Write A Comment

*
*
Please complete the captcha to submit your comment.
Related Posts All Posts
04.10.2026

From Struggling to Strength: Overcome Your Pull-Up Challenges

Explore effective pull-up alternatives to enhance upper body strength and overcome fitness challenges.

04.10.2026

Unlock the Joy of Group Workouts: 10 Tips for Enthusiasts

Update The Power of Group Workouts: Boost Your Fitness Journey Group workouts offer both camaraderie and motivation, enriching the fitness experience beyond solitary sessions. They create a supportive environment where individuals can push through their limits together. Unlike conventional workouts, where one might feel isolated or unmotivated, group settings provide a shared energy that fuels commitment and personal bests. Why Group Workouts Work: The Science of Motivation Research shows that gym members attending group fitness classes engage almost twice as often compared to those who work out individually. This frequency is not merely coincidental; it is driven by several psychological factors. Group settings naturally enhance accountability and offer social connections, which can lead to more enjoyable and consistent workouts. As shared in a recent analysis, members involved in community fitness classes often return to the gym about four times a week, nurturing both physical and social wellness. Creating a Diverse Fitness Environment Through Class Variety To maximize your gym's appeal, consider implementing a variety of group classes. Popular formats such as HIIT, kickboxing, yoga, and circuit training cater to diverse preferences and fitness levels. Group classes like Pilates can also offer a low-impact approach, making them approachable for beginners. Inculcating a mix of high-energy and relaxing sessions allows a broader spectrum of individuals to find their niche, leading to higher attendance rates and member satisfaction. Practical Tips for Enjoying Group Workouts Here are key strategies to ensure you get the most out of your group workout experience: Find Your Class Type: Explore various classes to discover what resonates with you. Don't hesitate to try something new; you might surprise yourself! Connect with Participants: Building relationships within your class can enhance motivation. Encourage open communication and camaraderie. Set Realistic Goals: Whether it’s improving endurance or mastering a particular move, having attainable goals helps maintain focus and direction. Participate Actively: Being engaged and proactive during classes not only enhances your experience but also inspires others and fosters a positive atmosphere. Embrace Feedback: Constructive feedback from instructors is crucial for improvement. Seek out guidance on how to enhance your performance safely. Stay Consistent: Try to establish a regular attendance routine that fits comfortably within your schedule. Consistency breeds progress! Prioritize Fun: Lastly, remember that exercise should be enjoyable. Allow for laughter and light-heartedness in your group workouts. Embracing Inclusivity: Accessibility for All Fitness Levels To truly enhance participation, it's vital to ensure classes are designed to cater to all fitness levels. This allows everyone, from beginners to seasoned athletes, to feel welcomed and challenged in equal measure. Instructors can implement tiered options for exercise modifications, ensuring that each participant can work at their own pace without feeling overwhelmed or left behind. Group Workouts & Instructor Interaction: Creating Unique Experiences A great instructor not only guides workouts but also actively engages with all participants. Keeping the class size manageable ensures personalized attention and promotes a culture of mentorship where participants feel valued. When members see their instructors investing in them, it fosters a bond that translates into loyalty and continued attendance. Transform Your Gym Culture with Varied Classes To maximize retention and satisfaction, gym owners should prioritize offering a diverse array of classes. Popular options like dance cardio, kettlebell workouts, and yoga can attract varying demographics and adapt to modern trends. Encourage members to share feedback on classes they would like to see included, fostering a community responsive to the needs and preferences of its patrons. Your Next Steps to Revitalize Your Group Fitness Experience With the right mindset, approach, and diversified offerings in place, both gym owners and fitness enthusiasts alike can enjoy the plethora of benefits group workouts provide. Commit to exploring new class formats that enhance the overall experience, thus building a robust community of fitness aficionados who motivate each other to reach new heights. As you embark on this journey, leverage these insights to not only better your own fitness routine but also to cultivate a thriving, efficient group workout environment that inspires loyalty and promotes health and well-being across your member base. If you’re a gym owner looking to expand your offerings or boost attendance, consider incorporating these insights into your plans for renewed class structures and enhancements in communication strategies. It’s time to make group workouts more enjoyable and effective for everyone!

04.10.2026

Achieve Your Goals: Top Tips to Perfect Your Fitness Shape

Update Unveiling the Path to Perfect Fitness Shape In today's fast-paced world, fitness has become an essential component not just for health but for overall well-being. Whether you're a seasoned fitness enthusiast or a gym owner looking to inspire clients, understanding how to achieve and maintain a perfect fitness shape is crucial. In this piece, we will explore key insights and practical strategies drawn from expert perspectives and recent findings in the fitness community. Understanding Fitness as a Lifestyle Fitness shouldn't be viewed merely as a task on your to-do list; it should be a lifestyle. As highlighted in a guide by Fitness CF Gyms, the journey to perfect fitness requires a deep commitment to integrating workouts into your daily life. This perspective allows individuals to see fitness not only in terms of physical benefits but also as a means to enhance mental health, manage stress, and improve productivity. Embracing fitness as a lifestyle fosters a mentality that prioritizes health and wellness, making it easier to stick with routines long-term. Choosing Activities You Enjoy Finding a workout that you genuinely enjoy is pivotal. According to insights from multiple fitness articles, including those from the eFitnessHelp team, the joy of exercise can increase adherence to fitness goals significantly. Whether it’s strength training, dance, or martial arts, engaging in activities that spark joy makes working out less of a chore. Group settings can also provide support and accountability, making exercise an enjoyable social affair. Getting the Most Out of Your Workouts Learning effective techniques is fundamental. Many individuals underestimate the value of form and technique, which can lead to injuries and stagnation in progress. Hiring a personal trainer can offer personalized guidance, ensuring your workouts are productive and safe. By understanding the right techniques, individuals can maximize muscle engagement and minimize the risk of injury, setting the stage for long-term gains. The Importance of Nutrition Fueling your body properly is often overlooked. As noted in the health community, nutrition plays a vital role in achieving fitness goals. Consuming the right balance of macronutrients and staying hydrated are necessary for optimal performance and recovery. Furthermore, creating a meal plan that complements your fitness routine will enhance your results and keep your energy levels high during workouts, leading to a more effective fitness journey. Rest and Recovery: The Unsung Heroes of Fitness Another critical aspect of fitness is recognizing the importance of rest and recovery. As discussed in various articles, sufficient sleep (7-9 hours) is needed for muscles to recover and grow stronger. Overtraining can lead to burnout and injuries, while restorative practices such as yoga can help align the body and mind, aiding in recovery and offering a counterbalance to intense workouts. Facilities and Equipment Matter Choosing the right environment to work out in can profoundly influence your fitness journey. The right gym should feature modern equipment, cleanliness, and supportive trainers. Having access to quality facilities allows individuals to perform a wider variety of exercises effectively, making workouts both enjoyable and efficient. Setting Goals and Tracking Progress To stay motivated, tracking your progress and setting new goals is essential. Using technology, such as fitness apps or journals, helps keep the progress transparent and tangible. Acknowledging small victories along the way can provide a significant motivational boost, reinforcing the journey toward a perfect fitness shape. Call to Action: Take Charge of Your Fitness Journey! As we explore the multifaceted journey of getting into the perfect fitness shape, each of these insights serves as building blocks for your fitness lifestyle. By committing to your fitness journey, embracing enjoyable activities, learning techniques, focusing on nutrition, prioritizing rest, choosing quality facilities, and tracking progress, you're not just aiming for better health but for a more fulfilling life. Start today – your future self will thank you!

Terms of Service

Privacy Policy

Core Modal Title

Sorry, no results found

You Might Find These Articles Interesting

T
Please Check Your Email
We Will Be Following Up Shortly
*
*
*