To join WebAsOne
More
Our Logo
WebAsOne
Home
How To
Join US
Design
Design Block
Design Patterns
SVGBackground
Animation
Themes
Fonts
Marketing
Hero
About
BIO
Contact
CTA
FAQ
Footer
Portfolio
Price
Service
Team
Testimonials
Pages
Apps
Vue3
OpenSource
Mini-Apps
Lessons
Google
Map
Contact Form
Email
One
Mini-Apps
->
Google
->
Map
Contact Form
For Yii app, need to add php funciton yii_check(). Copy the following for google contact form:
ezE6IHsnZW4nOiB7J015TW9kdWxlJzogJ29uZUNvbHVtbicsCiAgICAgICAgICAgICdOb3Rlcyc6ICcnLAogICAgICAgICAgICAnU2xpZGVUeXBlJzogJ1RpbnlNQ0UnLAogICAgICAgICAgICAnYUltYWdlJzogJycsCiAgICAgICAgICAgICdhTGFiZWwnOiAnaHRtbCBmb3JtJywKICAgICAgICAgICAgJ2FzdmdmaWxlJzogJzxzdmc+PC9zdmc+JywKICAgICAgICAgICAgJ2NlbnRlckNvbnRlbnQnOiAnJywKICAgICAgICAgICAgJ2NvZGUnOiAnPD9waHBcclxuJwogICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICdzZXRfZXJyb3JfaGFuZGxlcihmdW5jdGlvbigkX2Vycm5vLCAkZXJyc3RyKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAnICAvLyBDb252ZXJ0IG5vdGljZSwgd2FybmluZywgZXRjLiB0byBlcnJvci5cclxuJwogICAgICAgICAgICAgICAgICAgICcgIHRocm93IG5ldyBFcnJvcigkZXJyc3RyKTtcclxuJwogICAgICAgICAgICAgICAgICAgICd9KTtcclxuJwogICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICckZmlsZW5hbWUgPSAkcmVsX3Jvb3QgLiAnCiAgICAgICAgICAgICAgICAgICAgIicvLi4vLi4vbGliL3JlY2FwdGNoYS1tYXN0ZXIvc3JjL2F1dG9sb2FkLnBocCc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAnaWYgKCFmaWxlX2V4aXN0cygkZmlsZW5hbWUpKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIFxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgICBlY2hvICJUaGUgZmlsZSAkZmlsZW5hbWUgZG9lcyBub3QgZXhpc3QuIjtcclxuJwogICAgICAgICAgICAgICAgICAgICcgIFxyXG4nCiAgICAgICAgICAgICAgICAgICAgJ31cclxuJwogICAgICAgICAgICAgICAgICAgICd0cnkge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgXHJcbicKICAgICAgICAgICAgICAgICAgICAnICByZXF1aXJlICRmaWxlbmFtZSA7XHJcbicKICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAiICByZXF1aXJlICdfQXJlYV8vcGhwL215Zm9ybS5waHAnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgLy8gUmVnaXN0ZXIgQVBJIGtleXMgYXQgJwogICAgICAgICAgICAgICAgICAgICdodHRwczovL3d3dy5nb29nbGUuY29tL3JlY2FwdGNoYS9hZG1pblxyXG4nCiAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgJHNpdGVLZXkgPSAnCiAgICAgICAgICAgICAgICAgICAgIic2TGZMR2hrcUFBQUFBSThGNmZhQ1Q0R1BYc1RxRnJVamlmbDMyZmNuJztcclxuIgogICAgICAgICAgICAgICAgICAgICcgICRzZWNyZXQgPSAnCiAgICAgICAgICAgICAgICAgICAgIic2TGZMR2hrcUFBQUFBQWRkbzBkOGhDOXNPd0NORkFkRy1KdWstZGhQJztcclxuIgogICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICIgIGlmIChpc3NldCgkX1BPU1RbJ2ctcmVjYXB0Y2hhLXJlc3BvbnNlJ10pKSB7XHJcbiIKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIFRoZSBQT1NUIGRhdGEgaGVyZSBpcyB1bmZpbHRlcmVkIGJlY2F1c2UgdGhpcyBpcyAnCiAgICAgICAgICAgICAgICAgICAgJ2FuIGV4YW1wbGUuXHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIEluIHByb2R1Y3Rpb24sICphbHdheXMqIHNhbml0aXNlIGFuZCB2YWxpZGF0ZSB5b3VyICcKICAgICAgICAgICAgICAgICAgICAiaW5wdXQnXHJcbiIKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIHZhcl9leHBvcnQoJF9QT1NUKTtcclxuJwogICAgICAgICAgICAgICAgICAgICc/PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJzw/cGhwXHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIElmIHRoZSBmb3JtIHN1Ym1pc3Npb24gaW5jbHVkZXMgdGhlICcKICAgICAgICAgICAgICAgICAgICAnImctY2FwdGNoYS1yZXNwb25zZSIgZmllbGRcclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgLy8gQ3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSBzZXJ2aWNlIHVzaW5nIHlvdXIgJwogICAgICAgICAgICAgICAgICAgICdzZWNyZXRcclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgJHJlY2FwdGNoYSA9IG5ldyBcXFJlQ2FwdGNoYVxcUmVDYXB0Y2hhKCRzZWNyZXQpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgICAvLyBJZiBmaWxlX2dldF9jb250ZW50cygpIGlzIGxvY2tlZCBkb3duIG9uIHlvdXIgUEhQICcKICAgICAgICAgICAgICAgICAgICAnaW5zdGFsbGF0aW9uIHRvIGRpc2FsbG93XHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIGl0cyB1c2Ugd2l0aCBVUkxzLCB0aGVuIHlvdSBjYW4gdXNlIHRoZSAnCiAgICAgICAgICAgICAgICAgICAgJ2FsdGVybmF0aXZlIHJlcXVlc3QgbWV0aG9kIGluc3RlYWQuXHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIFRoaXMgbWFrZXMgdXNlIG9mIGZzb2Nrb3BlbigpIGluc3RlYWQuXHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIC8vICAkcmVjYXB0Y2hhID0gbmV3IFxcUmVDYXB0Y2hhXFxSZUNhcHRjaGEoJHNlY3JldCwgJwogICAgICAgICAgICAgICAgICAgICduZXcgXFxSZUNhcHRjaGFcXFJlcXVlc3RNZXRob2RcXFNvY2tldFBvc3QoKSk7XHJcbicKICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIC8vIE1ha2UgdGhlIGNhbGwgdG8gdmVyaWZ5IHRoZSByZXNwb25zZSBhbmQgYWxzbyBwYXNzICcKICAgICAgICAgICAgICAgICAgICAidGhlIHVzZXIncyBJUCBhZGRyZXNzXHJcbiIKICAgICAgICAgICAgICAgICAgICAnICAgICRyZXNwID0gJwogICAgICAgICAgICAgICAgICAgICIkcmVjYXB0Y2hhLT5zZXRFeHBlY3RlZEhvc3RuYW1lKCRfU0VSVkVSWydTRVJWRVJfTkFNRSddKVxyXG4iCiAgICAgICAgICAgICAgICAgICAgIiAgICAgIC0+dmVyaWZ5KCRfUE9TVFsnZy1yZWNhcHRjaGEtcmVzcG9uc2UnXSwgIgogICAgICAgICAgICAgICAgICAgICIkX1NFUlZFUlsnUkVNT1RFX0FERFInXSk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAnICAgIGlmICgkcmVzcC0+aXNTdWNjZXNzKCkpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgICAvLyBJZiB0aGUgcmVzcG9uc2UgaXMgYSBzdWNjZXNzLCBwcm9jZXNzIHRoZSAnCiAgICAgICAgICAgICAgICAgICAgJ2Zvcm1cclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgICBwcm9jX2Zvcm0oJHJlbF9yb290KTtcclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgICAvL3Zhcl9leHBvcnQoJHJlc3ApO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgJz8+XHJcbicKICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtc3VjY2VzcyIgcm9sZT0iYWxlcnQiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgPGgxPiBUaGFua3MgZm9yIHlvdXIgc3VibWl0ISBXZSB3aWxsIGNvbnRhY3QgeW91ICcKICAgICAgICAgICAgICAgICAgICAnc2hvcnRseSEgPC9oMT5cclxuJwogICAgICAgICAgICAgICAgICAgICc8L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICc8P3BocFxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgICB9IGVsc2Uge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgIiAgICAgIC8vIElmIGl0J3Mgbm90IHN1Y2Nlc3NmdWwsIHRoZW4gb25lIG9yIG1vcmUgZXJyb3IgIgogICAgICAgICAgICAgICAgICAgICdjb2RlcyB3aWxsIGJlIHJldHVybmVkLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJz8+XHJcbicKICAgICAgICAgICAgICAgICAgICAnPGgyPlNvbWV0aGluZyB3ZW50IHdyb25nPC9oMj5cclxuJwogICAgICAgICAgICAgICAgICAgICc8a2JkPjxwcmU+PD9waHAgdmFyX2V4cG9ydCgkcmVzcCk7Pz48L3ByZT48L2tiZD5cclxuJwogICAgICAgICAgICAgICAgICAgICc8cD5DaGVjayB0aGUgZXJyb3IgY29kZSByZWZlcmVuY2UgYXQgPGtiZD48YSAnCiAgICAgICAgICAgICAgICAgICAgJ2hyZWY9Imh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3JlY2FwdGNoYS9kb2NzL3ZlcmlmeSNlcnJvci1jb2RlLXJlZmVyZW5jZSI+aHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcmVjYXB0Y2hhL2RvY3MvdmVyaWZ5I2Vycm9yLWNvZGUtcmVmZXJlbmNlPC9hPjwva2JkPi5cclxuJwogICAgICAgICAgICAgICAgICAgICc8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEVycm9yIGNvZGUgJwogICAgICAgICAgICAgICAgICAgICc8a2JkPm1pc3NpbmctaW5wdXQtcmVzcG9uc2U8L2tiZD4gbWF5IG1lYW4gdGhlIHVzZXIganVzdCAnCiAgICAgICAgICAgICAgICAgICAgImRpZG4ndCBjb21wbGV0ZSB0aGUgcmVDQVBUQ0hBLjwvcD5cclxuIgogICAgICAgICAgICAgICAgICAgICc8P3BocFxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgICB9IFxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgfSBlbHNlIHtcclxuJwogICAgICAgICAgICAgICAgICAgICc/PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgaWQ9Il9NSURYX2xvYWRlciIgY2xhc3M9Im14LWF1dG8gcC00Ij48L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICc8Zm9ybSBhY3Rpb249IiMiIG1ldGhvZD0icG9zdCIgaWQ9ImRlbW8tZm9ybSI+XHJcbicKICAgICAgICAgICAgICAgICAgICAnICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj5cclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgPGlucHV0IHR5cGU9ImVtYWlsIiBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJlbWFpbCIgJwogICAgICAgICAgICAgICAgICAgICdwbGFjZWhvbGRlcj0iWW91ciBlbWFpbCI+XHJcbicKICAgICAgICAgICAgICAgICAgICAnICA8L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICcgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgICA8aW5wdXQgdHlwZT0iZW1haWwiIGNsYXNzPSJmb3JtLWNvbnRyb2wiICcKICAgICAgICAgICAgICAgICAgICAnbmFtZT0icmVxdXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJZb3VyIG5hbWUiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgPC9kaXY+XHJcbicKICAgICAgICAgICAgICAgICAgICAnICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj5cclxuJwogICAgICAgICAgICAgICAgICAgICcgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiICcKICAgICAgICAgICAgICAgICAgICAnbmFtZT0ic3ViamVjdCIgcGxhY2Vob2xkZXI9IlN1YmplY3QiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgPC9kaXY+XHJcbicKICAgICAgICAgICAgICAgICAgICAnICBcclxuJwogICAgICAgICAgICAgICAgICAgICcgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgICA8bGFiZWwgZm9yPSJleGFtcGxlRm9ybUNvbnRyb2xUZXh0YXJlYTEiID5RdWVzdGlvbnMgJwogICAgICAgICAgICAgICAgICAgICdvciBjb21tZW50czwvbGFiZWw+XHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIDx0ZXh0YXJlYSBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJtZXNzYWdlIiAnCiAgICAgICAgICAgICAgICAgICAgJ3Jvd3M9IjMiPjwvdGV4dGFyZWE+XHJcbicKICAgICAgICAgICAgICAgICAgICAnICA8L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICcgIDxidXR0b24gdHlwZT0ic3VibWl0IiBjbGFzcz0iZy1yZWNhcHRjaGEgYnRuICcKICAgICAgICAgICAgICAgICAgICAnYnRuLXByaW1hcnkgYnRuLWJsb2NrIiBkYXRhLXNpdGVrZXk9Ijw/cGhwIGVjaG8gJHNpdGVLZXk7ICcKICAgICAgICAgICAgICAgICAgICAnPz4iIGRhdGEtY2FsbGJhY2s9XCdvblN1Ym1pdFwnPlN1Ym1pdDwvYnV0dG9uPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJzwvZm9ybT5cclxuJwogICAgICAgICAgICAgICAgICAgICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgJwogICAgICAgICAgICAgICAgICAgICdzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vcmVjYXB0Y2hhL2FwaS5qcz9obD08P3BocCAnCiAgICAgICAgICAgICAgICAgICAgJ2VjaG8gJENNU19sYzsgPz4iIGFzeW5jIGRlZmVyPjwvc2NyaXB0PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5cclxuJwogICAgICAgICAgICAgICAgICAgICcgIGZ1bmN0aW9uIG9uU3VibWl0KHRva2VuKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZW1vLWZvcm0iKS5zdHlsZS5kaXNwbGF5ID0gJwogICAgICAgICAgICAgICAgICAgICcibm9uZSI7XHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgICcKICAgICAgICAgICAgICAgICAgICAnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIl9NSURYX2xvYWRlciIpLmNsYXNzTGlzdC5hZGQoXCdsb2FkZXJcJyk7XHJcbicKICAgICAgICAgICAgICAgICAgICAnICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZW1vLWZvcm0iKS5zdWJtaXQoKTtcclxuJwogICAgICAgICAgICAgICAgICAgICcgIH1cclxuJwogICAgICAgICAgICAgICAgICAgICc8L3NjcmlwdD5cclxuJwogICAgICAgICAgICAgICAgICAgICc8P3BocFxyXG4nCiAgICAgICAgICAgICAgICAgICAgJyAgfSBcclxuJwogICAgICAgICAgICAgICAgICAgICd9IGNhdGNoIChUaHJvd2FibGUgJGUpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICcgIG15bG9nKCRlKTtcclxuJwogICAgICAgICAgICAgICAgICAgICcgIGVjaG8gJGU7XHJcbicKICAgICAgICAgICAgICAgICAgICAnfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgJz8+XHJcbicsCiAgICAgICAgICAgICdjb2RlSW5jJzogJyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnIyBjb250ZW50IGJldHdlZW4gc3R5bGVJbmMgdGFnIHdpbGwgYmUgYWRkIHRvIHRoZSAnCiAgICAgICAgICAgICAgICAgICAgICAgJ2JlZm9yZSB0aGUgY2xvc2luZyBoZWFkIHRhZ3NcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzxzdHlsZUluYz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8IS0tIHN0eWxlSW5jIEluY2x1ZGVkIGZyb20gX0lEXyAtLT5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8c3R5bGU+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnI19JRF8gLmxvYWRlciB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBib3JkZXI6IDE2cHggc29saWQgI2YzZjNmMzsgLyogTGlnaHQgZ3JleSAqL1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgYm9yZGVyLXRvcDogMTZweCBzb2xpZCAjMzQ5OGRiOyAvKiBCbHVlICovXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICB3aWR0aDogMTIwcHg7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBoZWlnaHQ6IDEyMHB4O1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICd9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnQGtleWZyYW1lcyBzcGluIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzwvc3R5bGU+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8L3N0eWxlSW5jPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnIyBjb250ZW50IGJldHdlZW4gc2NyaXB0SW5jIHRhZyB3aWxsIGJlIGFkZCB0byB0aGUgJwogICAgICAgICAgICAgICAgICAgICAgICdiZWZvcmUgdGhlIGNsb3NpbmcgYm9keSB0YWdzXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8c2NyaXB0SW5jPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzwhLS0gc2NyaXB0SW5jIEluY2x1ZGVkIGZyb20gX0lEXyAtLT5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8c2NyaXB0PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzwvc2NyaXB0PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPC9zY3JpcHRJbmM+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnIyBFbmRcclxuJywKICAgICAgICAgICAgJ2NvbEJHSW1hZ2UnOiAnJywKICAgICAgICAgICAgJ2NvbEJHSW1hZ2VXcmFwJzogJycsCiAgICAgICAgICAgICdjb21wb3NlckpTT04nOiAnJywKICAgICAgICAgICAgJ2R5bmFtaWNCbG9jayc6ICcnLAogICAgICAgICAgICAna2V5d29yZHMnOiAnJywKICAgICAgICAgICAgJ3BocEZpbGUnOiAnPD9waHAgLyogX0FyZWFfL3BocC9teWZvcm0ucGhwICovICBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcvLyBmb3IgZGVidWdnaW5nXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnZnVuY3Rpb24gbXlsb2coJG1zZykge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgJGggPSBmb3BlbignL2hvbWUvY21zbm93L2FjY2Vzc19sb2cnLCAnYScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJyAgZndyaXRlKCRoLCB0aW1lKCkpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgZndyaXRlKCRoLCAkbXNnKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIGZjbG9zZSgkaCk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ2Z1bmN0aW9uIHByb2NfZm9ybSgkcmVsX3Jvb3QpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIHRyeSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vcmVxdWlyZSAkcmVsX3Jvb3QgLiAnCiAgICAgICAgICAgICAgICAgICAgICAgIicvLi4vLi4vcGhwL0FzT25lL21pc2MucGhwJztcclxuIgogICAgICAgICAgICAgICAgICAgICAgICcgICAgcmVxdWlyZSAkcmVsX3Jvb3QgLiAnCiAgICAgICAgICAgICAgICAgICAgICAgIicvcGhwL1BIUE1haWxlci9QSFBNYWlsZXJBdXRvbG9hZC5waHAnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvLyB0byBkaXNhYmxlIGJ5IGFzc2lnbiBhbiBlbXB0eSBzdHJpbmdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgJGJ1Z3ppbGxhU2VydmVyID0gJ2J1Zy53ZWJjbXMtYS5jb20nO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkZW1haWxTTVRQID0gJ3NtdHAuYml6bWFpbC55YWhvby5jb20nO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkZW1haWxVc2VyID0gJ25vLXJlcGx5QGFzb25lbGlzdC5jb20nO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkZW1haWxQYXNzd2QgPSAndXlxdmN2bGNrbmVwZHNpcic7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAiICAgICRub3RpZnlFbWFpbCA9ICdpbmZvQHdlYmFzb25lLmNvbSc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vbXlsb2coImNhbGwgcHJvY19mb3JtIik7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgIC8vJGFzb25lRmlsZSA9IG5ldyBBc09uZUZpbGUoJ19JRFhfJywgIgogICAgICAgICAgICAgICAgICAgICAgICdBc29uZVBhdGgpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkbWFpbCA9IG5ldyBQSFBNYWlsZXI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vVGVsbCBQSFBNYWlsZXIgdG8gdXNlIFNNVFBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9UZWxsIFBIUE1haWxlciB0byB1c2UgU01UUFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkbWFpbC0+aXNTTVRQKCk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vRW5hYmxlIFNNVFAgZGVidWdnaW5nXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vIDAgPSBvZmYgKGZvciBwcm9kdWN0aW9uIHVzZSlcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy8gMSA9IGNsaWVudCBtZXNzYWdlc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvLyAyID0gY2xpZW50IGFuZCBzZXJ2ZXIgbWVzc2FnZXNcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPlNNVFBEZWJ1ZyA9IDA7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vQXNrIGZvciBIVE1MLWZyaWVuZGx5IGRlYnVnIG91dHB1dFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+RGVidWdvdXRwdXQgPSAnaHRtbCc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vU2V0IHRoZSBob3N0bmFtZSBvZiB0aGUgbWFpbCBzZXJ2ZXJcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPkhvc3QgPSAkZW1haWxTTVRQO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1NldCB0aGUgU01UUCBwb3J0IG51bWJlciAtIGxpa2VseSB0byBiZSAyNSwgNDY1ICcKICAgICAgICAgICAgICAgICAgICAgICAnb3IgNTg3XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICRtYWlsLT5Qb3J0ID0gNDY1O1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+U01UUFNlY3VyZSA9ICdzc2wnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1doZXRoZXIgdG8gdXNlIFNNVFAgYXV0aGVudGljYXRpb25cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPlNNVFBBdXRoID0gdHJ1ZTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9Vc2VybmFtZSB0byB1c2UgZm9yIFNNVFAgYXV0aGVudGljYXRpb25cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPlVzZXJuYW1lID0gJGVtYWlsVXNlcjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9QYXNzd29yZCB0byB1c2UgZm9yIFNNVFAgYXV0aGVudGljYXRpb25cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPlBhc3N3b3JkID0gJGVtYWlsUGFzc3dkO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1NldCB3aG8gdGhlIG1lc3NhZ2UgaXMgdG8gYmUgc2VudCBmcm9tXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgICRtYWlsLT5zZXRGcm9tKCRlbWFpbFVzZXIsICRfU0VSVkVSWydIVFRQX0hPU1QnXS4nICIKICAgICAgICAgICAgICAgICAgICAgICAiU3VibWl0Jyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vU2V0IGFuIGFsdGVybmF0aXZlIHJlcGx5LXRvIGFkZHJlc3NcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgJG1haWwtPmFkZFJlcGx5VG8oJ0RvIG5vdCByZXBseScsICdEbyBub3QgIgogICAgICAgICAgICAgICAgICAgICAgICJyZXBseScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1NldCB3aG8gdGhlIG1lc3NhZ2UgaXMgdG8gYmUgc2VudCB0b1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+YWRkQWRkcmVzcygkbm90aWZ5RW1haWwsICdEbyBub3QgIgogICAgICAgICAgICAgICAgICAgICAgICJSZXBseScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1NldCB0aGUgc3ViamVjdCBsaW5lXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vc2VuZCBlbWFpbFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+U3ViamVjdCA9ICcoRG8gbm90IHJlcGx5KSBmcm9tICIKICAgICAgICAgICAgICAgICAgICAgICAiJy5nZXRob3N0bmFtZSgpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAvLyRtc2cgPSAnPHA+V2Vic2l0ZTogJXM8L3A+JztcclxuIgogICAgICAgICAgICAgICAgICAgICAgICIgICAgJG1zZyA9ICcnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICBpZiAoaXNzZXQoJF9SRVFVRVNUWydyZXF1c2VybmFtZSddKSkgJG1zZyAuPSAiCiAgICAgICAgICAgICAgICAgICAgICAgJ1wnRnJvbTogIFwnLiRfUkVRVUVTVFtcJ3JlcXVzZXJuYW1lXCddLiJcXG4iO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICBpZiAoaXNzZXQoJF9SRVFVRVNUWydlbWFpbCddKSkgJG1zZyAuPSAnRW1haWw6ICIKICAgICAgICAgICAgICAgICAgICAgICAnXCcuJF9SRVFVRVNUW1wnZW1haWxcJ10uIlxcbiI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgIGlmIChpc3NldCgkX1JFUVVFU1RbJ3N1YmplY3QnXSkpICRtc2cgLj0gJ1N1YmplY3Q6ICIKICAgICAgICAgICAgICAgICAgICAgICAnXCcuJF9SRVFVRVNUW1wnc3ViamVjdFwnXS4iXFxuIjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgLy9pZiAoaXNzZXQoJF9SRVFVRVNUWydjaHVyY2h3ZWJzaXRlJ10pKSAkbXNnIC49ICIKICAgICAgICAgICAgICAgICAgICAgICAiJ2NodXJjaHdlYnNpdGU6ICIKICAgICAgICAgICAgICAgICAgICAgICAnXCcuJF9SRVFVRVNUW1wnY2h1cmNod2Vic2l0ZVwnXS4iXFxuIjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1zZyAuPSAiTWVzc2FnZTpcXG4iO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICBpZiAoaXNzZXQoJF9SRVFVRVNUWydtZXNzYWdlJ10pKSAkbXNnIC49ICIKICAgICAgICAgICAgICAgICAgICAgICAnJF9SRVFVRVNUW1wnbWVzc2FnZVwnXS4iXFxuIjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgICAgJG1haWwtPm1zZ0hUTUwoJzxwcmU+Jy4kbXNnLic8L3ByZT4nKTtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICcgICAgaWYgKCRtYWlsLT5zZW5kKCkpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgfSBlbHNlIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICBlY2hvICI8aDM+IFN5c3RlbSBFcnJvci4gPC9oMz4iO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICB9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICRibXNnID0gXCdGcm9tOiBidWdAd2ViYXNvbmUuY29tXCcuICJcXG4iLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICdTdWJqZWN0OiBVc2VyIFN1Ym1pdCBmcm9tICIKICAgICAgICAgICAgICAgICAgICAgICAnXCcuZ2V0aG9zdG5hbWUoKS4iXFxuXFxuIi5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICBcJ0Bwcm9kdWN0ID0gV2ViQXNPbmVcJy4iXFxuIi5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICBcJ0Bjb21wb25lbnQgPSBVc2VyUmVwb3J0XCcuIlxcbiIuXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgXCdAb3Bfc3lzIExpbnV4XCcuIlxcbiIuXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgXCdAcmVwX3BsYXRmb3JtIEFsbFwnLiJcXG4iLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgIFwnQHZlcnNpb24gPSAxLjAuMFwnLiJcXG4iLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgIFwnQFNldmVyaXR5ID0gbm9ybWFsXCcuIlxcblxcblxcbiIuICAgIFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICRtc2c7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICcKICAgICAgICAgICAgICAgICAgICAgICAnZmlsZV9wdXRfY29udGVudHMoIi9ob21lL2Ntc25vdy9mb3JtX21zZy50eHQiLCRibXNnKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgaWYgKCRidWd6aWxsYVNlcnZlcikge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICRkZXNjcmlwdG9yc3BlYyA9IGFycmF5KFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgMCA9PiBhcnJheSgicGlwZSIsICJyIiksICAvLyBzdGRpbiBpcyBhIHBpcGUgJwogICAgICAgICAgICAgICAgICAgICAgICd0aGF0IHRoZSBjaGlsZCB3aWxsIHJlYWQgZnJvbVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgMSA9PiBhcnJheSgicGlwZSIsICJ3IiksICAvLyBzdGRvdXQgaXMgYSBwaXBlICcKICAgICAgICAgICAgICAgICAgICAgICAndGhhdCB0aGUgY2hpbGQgd2lsbCB3cml0ZSB0b1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgMiA9PiBhcnJheSgiZmlsZSIsICcKICAgICAgICAgICAgICAgICAgICAgICAnIi9ob21lL2Ntc25vdy8vZXJyb3Itb3V0cHV0LnR4dCIsICJ3KyIpIC8vIHN0ZGVyciBpcyBhICcKICAgICAgICAgICAgICAgICAgICAgICAnZmlsZSB0byB3cml0ZSB0b1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgJGNtZCA9ICdzc2ggJy4kYnVnemlsbGFTZXJ2ZXIuJyAiCiAgICAgICAgICAgICAgICAgICAgICAgJyIvaG9tZS9jbXNub3cvd3d3L2hvc3RzL1wnLiRidWd6aWxsYVNlcnZlci5cJy9kb2NzL2VtYWlsX2luLnBsIlwnO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICRwcm9jZXNzID0gcHJvY19vcGVuKCRjbWQsICRkZXNjcmlwdG9yc3BlYywgJwogICAgICAgICAgICAgICAgICAgICAgICckcGlwZXMpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgIGlmIChpc19yZXNvdXJjZSgkcHJvY2VzcykpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vICRwaXBlcyBub3cgbG9va3MgbGlrZSB0aGlzOlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gMCA9PiB3cml0ZWFibGUgaGFuZGxlIGNvbm5lY3RlZCB0byBjaGlsZCAnCiAgICAgICAgICAgICAgICAgICAgICAgJ3N0ZGluXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyAxID0+IHJlYWRhYmxlIGhhbmRsZSBjb25uZWN0ZWQgdG8gY2hpbGQgJwogICAgICAgICAgICAgICAgICAgICAgICdzdGRvdXRcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIGZ3cml0ZSgkcGlwZXNbMF0sICRibXNnKTsgLy8gJwogICAgICAgICAgICAgICAgICAgICAgICJmaWxlX2dldF9jb250ZW50cygncGhwOi8vc3RkaW4nKVxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgZmNsb3NlKCRwaXBlc1swXSk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAkb3V0cHV0ID0gc3RyZWFtX2dldF9jb250ZW50cygkcGlwZXNbMV0pO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgI2VjaG8gJG91dHB1dDtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIGZjbG9zZSgkcGlwZXNbMV0pO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gSXQgaXMgaW1wb3J0YW50IHRoYXQgeW91IGNsb3NlIGFueSBwaXBlcyAnCiAgICAgICAgICAgICAgICAgICAgICAgJ2JlZm9yZSBjYWxsaW5nXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyBwcm9jX2Nsb3NlIGluIG9yZGVyIHRvIGF2b2lkIGEgZGVhZGxvY2tcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICRyZXR1cm5fdmFsdWUgPSBwcm9jX2Nsb3NlKCRwcm9jZXNzKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICNlY2hvICRyZXR1cm5fdmFsdWU7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICB9ICAgIFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgfSBjYXRjaCAoVGhyb3dhYmxlICRlKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIG15bG9nKCRlKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgZWNobyAkZTsgLy8gRXJyb3I6IFVuZGVmaW5lZCB2YXJpYWJsZTogdHcuLi5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIH1cclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICd9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPz5cclxuJywKICAgICAgICAgICAgJ3BocEZpbGVBJzogJycsCiAgICAgICAgICAgICdwaHBGaWxlQic6ICcnLAogICAgICAgICAgICAndGNvZGUnOiAnJywKICAgICAgICAgICAgJ3Zjb2RlJzogJyd9LAogICAgICdlbi1VUyc6IHsnTXlNb2R1bGUnOiAnb25lQ29sdW1uJywKICAgICAgICAgICAgICAgJ05vdGVzJzogJycsCiAgICAgICAgICAgICAgICdTbGlkZVR5cGUnOiAnVGlueU1DRScsCiAgICAgICAgICAgICAgICdhSW1hZ2UnOiAnJywKICAgICAgICAgICAgICAgJ2FMYWJlbCc6ICdodG1sIGZvcm0nLAogICAgICAgICAgICAgICAnYXN2Z2ZpbGUnOiAnPHN2Zz48L3N2Zz4nLAogICAgICAgICAgICAgICAnY2VudGVyQ29udGVudCc6ICcnLAogICAgICAgICAgICAgICAnY29kZSc6ICc8P3BocFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ3NldF9lcnJvcl9oYW5kbGVyKGZ1bmN0aW9uKCRfZXJybm8sICRlcnJzdHIpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIC8vIENvbnZlcnQgbm90aWNlLCB3YXJuaW5nLCBldGMuIHRvIGVycm9yLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgdGhyb3cgbmV3IEVycm9yKCRlcnJzdHIpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ30pO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyRmaWxlbmFtZSA9ICRyZWxfcm9vdCAuICcKICAgICAgICAgICAgICAgICAgICAgICAiJy8uLi8uLi9saWIvcmVjYXB0Y2hhLW1hc3Rlci9zcmMvYXV0b2xvYWQucGhwJztcclxuIgogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdpZiAoIWZpbGVfZXhpc3RzKCRmaWxlbmFtZSkpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIGVjaG8gIlRoZSBmaWxlICRmaWxlbmFtZSBkb2VzIG5vdCBleGlzdC4iO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJ3RyeSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIHJlcXVpcmUgJGZpbGVuYW1lIDtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICIgIHJlcXVpcmUgJ19BcmVhXy9waHAvbXlmb3JtLnBocCc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAvLyBSZWdpc3RlciBBUEkga2V5cyBhdCAnCiAgICAgICAgICAgICAgICAgICAgICAgJ2h0dHBzOi8vd3d3Lmdvb2dsZS5jb20vcmVjYXB0Y2hhL2FkbWluXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAkc2l0ZUtleSA9ICcKICAgICAgICAgICAgICAgICAgICAgICAiJzZMZkxHaGtxQUFBQUFJOEY2ZmFDVDRHUFhzVHFGclVqaWZsMzJmY24nO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJyAgJHNlY3JldCA9ICcKICAgICAgICAgICAgICAgICAgICAgICAiJzZMZkxHaGtxQUFBQUFBZGRvMGQ4aEM5c093Q05GQWRHLUp1ay1kaFAnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgaWYgKGlzc2V0KCRfUE9TVFsnZy1yZWNhcHRjaGEtcmVzcG9uc2UnXSkpIHtcclxuIgogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy8gVGhlIFBPU1QgZGF0YSBoZXJlIGlzIHVuZmlsdGVyZWQgYmVjYXVzZSB0aGlzICcKICAgICAgICAgICAgICAgICAgICAgICAnaXMgYW4gZXhhbXBsZS5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy8gSW4gcHJvZHVjdGlvbiwgKmFsd2F5cyogc2FuaXRpc2UgYW5kIHZhbGlkYXRlICcKICAgICAgICAgICAgICAgICAgICAgICAieW91ciBpbnB1dCdcclxuIgogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy8gdmFyX2V4cG9ydCgkX1BPU1QpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJz8+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPD9waHBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy8gSWYgdGhlIGZvcm0gc3VibWlzc2lvbiBpbmNsdWRlcyB0aGUgJwogICAgICAgICAgICAgICAgICAgICAgICciZy1jYXB0Y2hhLXJlc3BvbnNlIiBmaWVsZFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvLyBDcmVhdGUgYW4gaW5zdGFuY2Ugb2YgdGhlIHNlcnZpY2UgdXNpbmcgeW91ciAnCiAgICAgICAgICAgICAgICAgICAgICAgJ3NlY3JldFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkcmVjYXB0Y2hhID0gbmV3ICcKICAgICAgICAgICAgICAgICAgICAgICAnXFxSZUNhcHRjaGFcXFJlQ2FwdGNoYSgkc2VjcmV0KTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgLy8gSWYgZmlsZV9nZXRfY29udGVudHMoKSBpcyBsb2NrZWQgZG93biBvbiB5b3VyICcKICAgICAgICAgICAgICAgICAgICAgICAnUEhQIGluc3RhbGxhdGlvbiB0byBkaXNhbGxvd1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvLyBpdHMgdXNlIHdpdGggVVJMcywgdGhlbiB5b3UgY2FuIHVzZSB0aGUgJwogICAgICAgICAgICAgICAgICAgICAgICdhbHRlcm5hdGl2ZSByZXF1ZXN0IG1ldGhvZCBpbnN0ZWFkLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvLyBUaGlzIG1ha2VzIHVzZSBvZiBmc29ja29wZW4oKSBpbnN0ZWFkLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvLyAgJHJlY2FwdGNoYSA9IG5ldyAnCiAgICAgICAgICAgICAgICAgICAgICAgJ1xcUmVDYXB0Y2hhXFxSZUNhcHRjaGEoJHNlY3JldCwgbmV3ICcKICAgICAgICAgICAgICAgICAgICAgICAnXFxSZUNhcHRjaGFcXFJlcXVlc3RNZXRob2RcXFNvY2tldFBvc3QoKSk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vIE1ha2UgdGhlIGNhbGwgdG8gdmVyaWZ5IHRoZSByZXNwb25zZSBhbmQgYWxzbyAnCiAgICAgICAgICAgICAgICAgICAgICAgInBhc3MgdGhlIHVzZXIncyBJUCBhZGRyZXNzXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgICRyZXNwID0gJwogICAgICAgICAgICAgICAgICAgICAgICIkcmVjYXB0Y2hhLT5zZXRFeHBlY3RlZEhvc3RuYW1lKCRfU0VSVkVSWydTRVJWRVJfTkFNRSddKVxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgIC0+dmVyaWZ5KCRfUE9TVFsnZy1yZWNhcHRjaGEtcmVzcG9uc2UnXSwgIgogICAgICAgICAgICAgICAgICAgICAgICIkX1NFUlZFUlsnUkVNT1RFX0FERFInXSk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAnICAgIGlmICgkcmVzcC0+aXNTdWNjZXNzKCkpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAvLyBJZiB0aGUgcmVzcG9uc2UgaXMgYSBzdWNjZXNzLCBwcm9jZXNzIHRoZSAnCiAgICAgICAgICAgICAgICAgICAgICAgJ2Zvcm1cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICBwcm9jX2Zvcm0oJHJlbF9yb290KTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgICAvL3Zhcl9leHBvcnQoJHJlc3ApO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJz8+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtc3VjY2VzcyIgcm9sZT0iYWxlcnQiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgPGgxPiBUaGFua3MgZm9yIHlvdXIgc3VibWl0ISBXZSB3aWxsIGNvbnRhY3QgeW91ICcKICAgICAgICAgICAgICAgICAgICAgICAnc2hvcnRseSEgPC9oMT5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8P3BocFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICB9IGVsc2Uge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgIC8vIElmIGl0J3Mgbm90IHN1Y2Nlc3NmdWwsIHRoZW4gb25lIG9yIG1vcmUgIgogICAgICAgICAgICAgICAgICAgICAgICdlcnJvciBjb2RlcyB3aWxsIGJlIHJldHVybmVkLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJz8+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnPGgyPlNvbWV0aGluZyB3ZW50IHdyb25nPC9oMj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8a2JkPjxwcmU+PD9waHAgdmFyX2V4cG9ydCgkcmVzcCk7Pz48L3ByZT48L2tiZD5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8cD5DaGVjayB0aGUgZXJyb3IgY29kZSByZWZlcmVuY2UgYXQgPGtiZD48YSAnCiAgICAgICAgICAgICAgICAgICAgICAgJ2hyZWY9Imh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3JlY2FwdGNoYS9kb2NzL3ZlcmlmeSNlcnJvci1jb2RlLXJlZmVyZW5jZSI+aHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcmVjYXB0Y2hhL2RvY3MvdmVyaWZ5I2Vycm9yLWNvZGUtcmVmZXJlbmNlPC9hPjwva2JkPi5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEVycm9yIGNvZGUgJwogICAgICAgICAgICAgICAgICAgICAgICc8a2JkPm1pc3NpbmctaW5wdXQtcmVzcG9uc2U8L2tiZD4gbWF5IG1lYW4gdGhlIHVzZXIgJwogICAgICAgICAgICAgICAgICAgICAgICJqdXN0IGRpZG4ndCBjb21wbGV0ZSB0aGUgcmVDQVBUQ0hBLjwvcD5cclxuIgogICAgICAgICAgICAgICAgICAgICAgICc8P3BocFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICB9IFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgfSBlbHNlIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICc/PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgaWQ9Il9NSURYX2xvYWRlciIgY2xhc3M9Im14LWF1dG8gcC00Ij48L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8Zm9ybSBhY3Rpb249IiMiIG1ldGhvZD0icG9zdCIgaWQ9ImRlbW8tZm9ybSI+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgPGlucHV0IHR5cGU9ImVtYWlsIiBjbGFzcz0iZm9ybS1jb250cm9sIiAnCiAgICAgICAgICAgICAgICAgICAgICAgJ25hbWU9ImVtYWlsIiBwbGFjZWhvbGRlcj0iWW91ciBlbWFpbCI+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICA8L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICA8aW5wdXQgdHlwZT0iZW1haWwiIGNsYXNzPSJmb3JtLWNvbnRyb2wiICcKICAgICAgICAgICAgICAgICAgICAgICAnbmFtZT0icmVxdXNlcm5hbWUiIHBsYWNlaG9sZGVyPSJZb3VyIG5hbWUiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgPC9kaXY+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiICcKICAgICAgICAgICAgICAgICAgICAgICAnbmFtZT0ic3ViamVjdCIgcGxhY2Vob2xkZXI9IlN1YmplY3QiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgPC9kaXY+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgICA8bGFiZWwgZm9yPSJleGFtcGxlRm9ybUNvbnRyb2xUZXh0YXJlYTEiICcKICAgICAgICAgICAgICAgICAgICAgICAnPlF1ZXN0aW9ucyBvciBjb21tZW50czwvbGFiZWw+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIDx0ZXh0YXJlYSBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJtZXNzYWdlIiAnCiAgICAgICAgICAgICAgICAgICAgICAgJ3Jvd3M9IjMiPjwvdGV4dGFyZWE+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICA8L2Rpdj5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIDxidXR0b24gdHlwZT0ic3VibWl0IiBjbGFzcz0iZy1yZWNhcHRjaGEgYnRuICcKICAgICAgICAgICAgICAgICAgICAgICAnYnRuLXByaW1hcnkgYnRuLWJsb2NrIiBkYXRhLXNpdGVrZXk9Ijw/cGhwIGVjaG8gJwogICAgICAgICAgICAgICAgICAgICAgICckc2l0ZUtleTsgPz4iICcKICAgICAgICAgICAgICAgICAgICAgICAiZGF0YS1jYWxsYmFjaz0nb25TdWJtaXQnPlN1Ym1pdDwvYnV0dG9uPlxyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgJzwvZm9ybT5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgJwogICAgICAgICAgICAgICAgICAgICAgICdzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vcmVjYXB0Y2hhL2FwaS5qcz9obD08P3BocCAnCiAgICAgICAgICAgICAgICAgICAgICAgJ2VjaG8gJENNU19sYzsgPz4iIGFzeW5jIGRlZmVyPjwvc2NyaXB0PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIGZ1bmN0aW9uIG9uU3VibWl0KHRva2VuKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZW1vLWZvcm0iKS5zdHlsZS5kaXNwbGF5ICcKICAgICAgICAgICAgICAgICAgICAgICAnPSAibm9uZSI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgICcKICAgICAgICAgICAgICAgICAgICAgICAnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIl9NSURYX2xvYWRlciIpLmNsYXNzTGlzdC5hZGQoXCdsb2FkZXJcJyk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZW1vLWZvcm0iKS5zdWJtaXQoKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIH1cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8L3NjcmlwdD5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICc8P3BocFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJyAgfSBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICd9IGNhdGNoIChUaHJvd2FibGUgJGUpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIG15bG9nKCRlKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICcgIGVjaG8gJGU7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAnfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgJz8+XHJcbicsCiAgICAgICAgICAgICAgICdjb2RlSW5jJzogJyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnIyBjb250ZW50IGJldHdlZW4gc3R5bGVJbmMgdGFnIHdpbGwgYmUgYWRkIHRvIHRoZSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JlZm9yZSB0aGUgY2xvc2luZyBoZWFkIHRhZ3NcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzdHlsZUluYz5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8IS0tIHN0eWxlSW5jIEluY2x1ZGVkIGZyb20gX0lEXyAtLT5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8c3R5bGU+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnI19JRF8gLmxvYWRlciB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICBib3JkZXI6IDE2cHggc29saWQgI2YzZjNmMzsgLyogTGlnaHQgZ3JleSAqL1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgYm9yZGVyLXRvcDogMTZweCBzb2xpZCAjMzQ5OGRiOyAvKiBCbHVlICovXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICB3aWR0aDogMTIwcHg7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICBoZWlnaHQ6IDEyMHB4O1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICd9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnQGtleWZyYW1lcyBzcGluIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvc3R5bGU+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8L3N0eWxlSW5jPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnIyBjb250ZW50IGJldHdlZW4gc2NyaXB0SW5jIHRhZyB3aWxsIGJlIGFkZCB0byB0aGUgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdiZWZvcmUgdGhlIGNsb3NpbmcgYm9keSB0YWdzXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8c2NyaXB0SW5jPlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzwhLS0gc2NyaXB0SW5jIEluY2x1ZGVkIGZyb20gX0lEXyAtLT5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc8c2NyaXB0PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvc2NyaXB0PlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9zY3JpcHRJbmM+XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnIyBFbmRcclxuJywKICAgICAgICAgICAgICAgJ2NvbEJHSW1hZ2UnOiAnJywKICAgICAgICAgICAgICAgJ2NvbEJHSW1hZ2VXcmFwJzogJycsCiAgICAgICAgICAgICAgICdjb21wb3NlckpTT04nOiAnJywKICAgICAgICAgICAgICAgJ2R5bmFtaWNCbG9jayc6ICcnLAogICAgICAgICAgICAgICAna2V5d29yZHMnOiAnJywKICAgICAgICAgICAgICAgJ21vZFZhcic6IHsnVmFyTGlzdCc6IHsnQWNjb3JkaW9uQ2FyZEJvZHlDbGFzcyc6ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY2NvcmRpb25DYXJkQ2xhc3MnOiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWNjb3JkaW9uQ2FyZEhlYWRlckNsYXNzJzogJycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FjY29yZGlvbk9wZW5GaXJzdCc6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvcHlUb015UGFnZU9ubHknOiAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEaXZJbmxpbmVDU1MnOiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRHluYW1pY0Jsb2NrJzogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRW5kTXNnQ2xhc3MnOiAnY29sLTEyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTXVsdGktQ1NTVmFyJzogJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIyBjb21tZW50IGZyb20gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb25lQ29sdW1uXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCaWdTY2VlblRvcFBhZGRpbmc9NTBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pZFNjcmVlblRvcFBhZGRpbmc9MjBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NtYWxsU2NyZWVuVG9wUGFkZGluZz0xMFxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQmlnU2NlZW5Cb3R0b21QYWRkaW5nPTUwXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaWRTY3JlZW5Cb3R0b21QYWRkaW5nPTIwXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbWFsbFNjcmVlbkJvdHRvbVBhZGRpbmc9MTBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQmlnU2NlZW5MZWZ0UmlnaHRQYWRkaW5nPTIwXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNaWRTY3JlZW5MZWZ0UmlnaHRQYWRkaW5nPTE1XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbWFsbFNjcmVlbkxlZnRSaWdodFBhZGRpbmc9MTBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQmlnU2NlZW5Ub3BNYXJnaW49MFxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTWlkU2NyZWVuVG9wTWFyZ2luPTBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NtYWxsU2NyZWVuVG9wTWFyZ2luPTBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JpZ1NjZWVuQm90dG9tTWFyZ2luPTBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01pZFNjcmVlbkJvdHRvbU1hcmdpbj0wXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTbWFsbFNjcmVlbkJvdHRvbU1hcmdpbj0wXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIyBpZCBmb250IGNvbG9yXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGb250Q29sb3I9X0NvbG9yQV9cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIyBtb2R1bGUgYmFja2dyb3VuZFxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTUJhY2tncm91bmQ9XG4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aS1Db3ZlckJhY2tncm91bmQnOiAnIDxzdHlsZT4gI19JRF8gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneyBiYWNrZ3JvdW5kOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfVGludEJHXyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1cmwoX0NJTUFHRV8pICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vLXJlcGVhdCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjZW50ZXIgY2VudGVyICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpeGVkOyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctd2Via2l0LWJhY2tncm91bmQtc2l6ZTogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY292ZXI7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1tb3otYmFja2dyb3VuZC1zaXplOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb3ZlcjsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLW8tYmFja2dyb3VuZC1zaXplOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb3ZlcjsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1zaXplOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb3ZlcjsgfSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8L3N0eWxlPiAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aS1Db3ZlckJhY2tncm91bmRTVkcnOiAnIDxzdHlsZT4gLyogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2Nyb2xsIHdpbGwgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RheSB3aXRoICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRlbnQgICovICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyNfSURfIHsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZDogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX1RpbnRCR18gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndXJsKF9DSU1BR0VfKSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduby1yZXBlYXQgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2VudGVyICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NlbnRlcjsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1zaXplOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb3ZlcjsgfVxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLyogc2Nyb2xsICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpbGwgZml4ZWQgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW4gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcqLyBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8qICNfSURfIHsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZDogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX1RpbnRCR18gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndXJsKF9DSU1BR0VfKSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduby1yZXBlYXQgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2VudGVyICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NlbnRlciAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaXhlZDsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1zaXplOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb3ZlcjsgfSAqLyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8L3N0eWxlPlxuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTXVsdGktRW5kVGFnQ29kZSc6ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aS1HUG9zdEluYyc6ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aS1IZWxwJzogJycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ011bHRpLVBvc3RJbmMnOiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTXVsdGktUHJlSW5jJzogJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHN0eWxlPlxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnI19JRF8gIHsgX0ZvbnRDb2xvcl8gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX01CYWNrZ3JvdW5kXyB9XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcjX0lEXyB7cG9zaXRpb246ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlbGF0aXZlO31cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLl9JRFhfIHsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGFkZGluZy1ib3R0b206IDE1cHg7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ31cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcjX0lEXyAuaGNvbnRlbnQge1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICBwb3NpdGlvbjogYWJzb2x1dGU7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIHRvcDogNTAlO1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICBsZWZ0OiA1MCU7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIHRyYW5zZm9ybTogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNsYXRlKC01MCUsIC01MCUpO1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnfVxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnI19JRF8gLmN0Y29udGVudCB7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgdG9wOiA1MCU7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIGxlZnQ6IDUwJTtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgdHJhbnNmb3JtOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIGJhY2tncm91bmQtY29sb3I6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYmEoMCwgMCwgMCwgLjI1KTtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgIGNvbG9yOiB3aGl0ZTtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgcGFkZGluZzogMjBweDtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ31cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnI19JRF8gLnZjb250YWluZXIge1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICBoZWlnaHQ6IDUwdmg7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgb3ZlcmZsb3c6IGhpZGRlbjtcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ31cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0BtZWRpYShtaW4td2lkdGg6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzYwMHB4KSB7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAjX0lEXyAudmNvbnRhaW5lciB7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodDogMTAwdmg7IH1cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ31cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLyogI19JRF8gLnJvdyA+IGRpdnsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGFkZGluZzogMTBweDsgfSAqL1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLyogU21hbGwgRGV2aWNlcywgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGFibGV0cyBmcm9tIG9uZUNvbHVtbiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcqL1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcobWF4LXdpZHRoIDogNTc2cHgpICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3sjX0lEXyAucm93IHsgcGFkZGluZzogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfU21hbGxTY3JlZW5MZWZ0UmlnaHRQYWRkaW5nX3B4OyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd9ICNfSURfIHsgcGFkZGluZy10b3A6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19TbWFsbFNjcmVlblRvcFBhZGRpbmdfcHg7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhZGRpbmctYm90dG9tOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfU21hbGxTY3JlZW5Cb3R0b21QYWRkaW5nX3B4OyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXJnaW4tdG9wOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfU21hbGxTY3JlZW5Ub3BNYXJnaW5fcHg7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi1ib3R0b206ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19TbWFsbFNjcmVlbkJvdHRvbU1hcmdpbl9weDt9ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ31cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8qIE1lZGl1bSBEZXZpY2VzLCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdEZXNrdG9wcyAqLyBAbWVkaWEgb25seSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY3JlZW4gYW5kIChtaW4td2lkdGggOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc3NjhweCkgeyNfSURfIC5yb3cgeyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYWRkaW5nOjAgICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19NaWRTY3JlZW5MZWZ0UmlnaHRQYWRkaW5nX3B4OyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd9ICNfSURfIHsgcGFkZGluZy10b3A6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19NaWRTY3JlZW5Ub3BQYWRkaW5nX3B4OyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYWRkaW5nLWJvdHRvbTogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX01pZFNjcmVlbkJvdHRvbVBhZGRpbmdfcHg7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi10b3A6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19NaWRTY3JlZW5Ub3BNYXJnaW5fcHg7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi1ib3R0b206ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19NaWRTY3JlZW5Cb3R0b21NYXJnaW5fcHg7fX1cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8qIExhcmdlIERldmljZXMsIFdpZGUgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU2NyZWVucyAqLyBAbWVkaWEgb25seSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY3JlZW4gYW5kIChtaW4td2lkdGggOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc5OTJweCkgeyNfSURfIC5yb3cgeyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYWRkaW5nOiAwICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19CaWdTY2VlbkxlZnRSaWdodFBhZGRpbmdfcHg7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ30gI19JRF8geyBwYWRkaW5nLXRvcDogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX0JpZ1NjZWVuVG9wUGFkZGluZ19weDsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGFkZGluZy1ib3R0b206ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19CaWdTY2VlbkJvdHRvbVBhZGRpbmdfcHg7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcmdpbi10b3A6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19CaWdTY2VlblRvcE1hcmdpbl9weDsgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWFyZ2luLWJvdHRvbTogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX0JpZ1NjZWVuQm90dG9tTWFyZ2luX3B4O319XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8L3N0eWxlPlxuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTXVsdGktUHJlVGFnQ29kZSc6ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNdWx0aS1WaWRlb0JhY2tncm91bmQnOiAnXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3R5bGU+XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuaGVhZGVyLXVuaXRfSURfICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3sgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9yZGVyLXJpZ2h0Om5vbmU7ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlci1sZWZ0OiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdub25lOyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3NpdGlvbjogJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVsYXRpdmU7IH1cbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyN2aWRlby1jb250YWluZXJfSURfICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3tcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgcG9zaXRpb246ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Fic29sdXRlO1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICBoZWlnaHQ6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzEwMCU7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIHdpZHRoOiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcxMDAlO1xuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICB0b3A6IDA7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIGxlZnQ6IDA7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd9IFxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnI3ZpZGVvLWNvbnRhaW5lcl9JRF8gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmlkZW97XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIG9iamVjdC1maXQ6ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvdmVyOyBcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ30gXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8L3N0eWxlPlxuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3V0cHV0UmVjb3Jkcyc6IDEwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NraXBOb0d1dHRlcic6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1N0YXJ0TXNnQ2xhc3MnOiAnY29sLTEyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGludGluZ0JHJzogJ2xpbmVhci1ncmFkaWVudCggcmdiYSgwLCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcwKSksJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVG9wRGl2SW5saW5lQ29kZSc6ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUd29Db2xFdmVuUm93U3dhcCc6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZVNoYXJlJzogJycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4dHJhQ2xhc3MnOiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogNjAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6IDEyMDB9fSwKICAgICAgICAgICAgICAgJ3BocEZpbGUnOiAnPD9waHAgLyogX0FyZWFfL3BocC9teWZvcm0ucGhwICovICBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcvLyBmb3IgZGVidWdnaW5nXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnZnVuY3Rpb24gbXlsb2coJG1zZykge1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgJGggPSBmb3BlbignL2hvbWUvY21zbm93L2FjY2Vzc19sb2cnLCAnYScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgZndyaXRlKCRoLCB0aW1lKCkpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgZndyaXRlKCRoLCAkbXNnKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgIGZjbG9zZSgkaCk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Z1bmN0aW9uIHByb2NfZm9ybSgkcmVsX3Jvb3QpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgIHRyeSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vcmVxdWlyZSAkcmVsX3Jvb3QgLiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgIicvLi4vLi4vcGhwL0FzT25lL21pc2MucGhwJztcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgcmVxdWlyZSAkcmVsX3Jvb3QgLiAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgIicvcGhwL1BIUE1haWxlci9QSFBNYWlsZXJBdXRvbG9hZC5waHAnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvLyB0byBkaXNhYmxlIGJ5IGFzc2lnbiBhbiBlbXB0eSBzdHJpbmdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgJGJ1Z3ppbGxhU2VydmVyID0gJ2J1Zy53ZWJjbXMtYS5jb20nO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkZW1haWxTTVRQID0gJ3NtdHAuYml6bWFpbC55YWhvby5jb20nO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkZW1haWxVc2VyID0gJ25vLXJlcGx5QGFzb25lbGlzdC5jb20nO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkZW1haWxQYXNzd2QgPSAndXlxdmN2bGNrbmVwZHNpcic7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICRub3RpZnlFbWFpbCA9ICdpbmZvQHdlYmFzb25lLmNvbSc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vbXlsb2coImNhbGwgcHJvY19mb3JtIik7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgIC8vJGFzb25lRmlsZSA9IG5ldyBBc09uZUZpbGUoJ19JRFhfJywgIgogICAgICAgICAgICAgICAgICAgICAgICAgICdBc29uZVBhdGgpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkbWFpbCA9IG5ldyBQSFBNYWlsZXI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vVGVsbCBQSFBNYWlsZXIgdG8gdXNlIFNNVFBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9UZWxsIFBIUE1haWxlciB0byB1c2UgU01UUFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkbWFpbC0+aXNTTVRQKCk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vRW5hYmxlIFNNVFAgZGVidWdnaW5nXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vIDAgPSBvZmYgKGZvciBwcm9kdWN0aW9uIHVzZSlcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgLy8gMSA9IGNsaWVudCBtZXNzYWdlc1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvLyAyID0gY2xpZW50IGFuZCBzZXJ2ZXIgbWVzc2FnZXNcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPlNNVFBEZWJ1ZyA9IDA7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vQXNrIGZvciBIVE1MLWZyaWVuZGx5IGRlYnVnIG91dHB1dFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+RGVidWdvdXRwdXQgPSAnaHRtbCc7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vU2V0IHRoZSBob3N0bmFtZSBvZiB0aGUgbWFpbCBzZXJ2ZXJcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPkhvc3QgPSAkZW1haWxTTVRQO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1NldCB0aGUgU01UUCBwb3J0IG51bWJlciAtIGxpa2VseSB0byBiZSAyNSwgJwogICAgICAgICAgICAgICAgICAgICAgICAgICc0NjUgb3IgNTg3XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICRtYWlsLT5Qb3J0ID0gNDY1O1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+U01UUFNlY3VyZSA9ICdzc2wnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1doZXRoZXIgdG8gdXNlIFNNVFAgYXV0aGVudGljYXRpb25cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPlNNVFBBdXRoID0gdHJ1ZTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9Vc2VybmFtZSB0byB1c2UgZm9yIFNNVFAgYXV0aGVudGljYXRpb25cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPlVzZXJuYW1lID0gJGVtYWlsVXNlcjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgLy9QYXNzd29yZCB0byB1c2UgZm9yIFNNVFAgYXV0aGVudGljYXRpb25cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgJG1haWwtPlBhc3N3b3JkID0gJGVtYWlsUGFzc3dkO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1NldCB3aG8gdGhlIG1lc3NhZ2UgaXMgdG8gYmUgc2VudCBmcm9tXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICRtYWlsLT5zZXRGcm9tKCRlbWFpbFVzZXIsICcKICAgICAgICAgICAgICAgICAgICAgICAgICAiJF9TRVJWRVJbJ0hUVFBfSE9TVCddLicgU3VibWl0Jyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vU2V0IGFuIGFsdGVybmF0aXZlIHJlcGx5LXRvIGFkZHJlc3NcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgJG1haWwtPmFkZFJlcGx5VG8oJ0RvIG5vdCByZXBseScsICdEbyBub3QgIgogICAgICAgICAgICAgICAgICAgICAgICAgICJyZXBseScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1NldCB3aG8gdGhlIG1lc3NhZ2UgaXMgdG8gYmUgc2VudCB0b1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+YWRkQWRkcmVzcygkbm90aWZ5RW1haWwsICdEbyBub3QgIgogICAgICAgICAgICAgICAgICAgICAgICAgICJSZXBseScpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAvL1NldCB0aGUgc3ViamVjdCBsaW5lXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIC8vc2VuZCBlbWFpbFxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAkbWFpbC0+U3ViamVjdCA9ICcoRG8gbm90IHJlcGx5KSBmcm9tICIKICAgICAgICAgICAgICAgICAgICAgICAgICAiJy5nZXRob3N0bmFtZSgpO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAvLyRtc2cgPSAnPHA+V2Vic2l0ZTogJXM8L3A+JztcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgJG1zZyA9ICcnO1xyXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBpZiAoaXNzZXQoJF9SRVFVRVNUWydyZXF1c2VybmFtZSddKSkgJG1zZyAuPSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1wnRnJvbTogIFwnLiRfUkVRVUVTVFtcJ3JlcXVzZXJuYW1lXCddLiJcXG4iO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICBpZiAoaXNzZXQoJF9SRVFVRVNUWydlbWFpbCddKSkgJG1zZyAuPSAnRW1haWw6ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAnXCcuJF9SRVFVRVNUW1wnZW1haWxcJ10uIlxcbiI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgIGlmIChpc3NldCgkX1JFUVVFU1RbJ3N1YmplY3QnXSkpICRtc2cgLj0gIgogICAgICAgICAgICAgICAgICAgICAgICAgICdcJ1N1YmplY3Q6IFwnLiRfUkVRVUVTVFtcJ3N1YmplY3RcJ10uIlxcbiI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgIC8vaWYgKGlzc2V0KCRfUkVRVUVTVFsnY2h1cmNod2Vic2l0ZSddKSkgJG1zZyAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIi49ICdjaHVyY2h3ZWJzaXRlOiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1wnLiRfUkVRVUVTVFtcJ2NodXJjaHdlYnNpdGVcJ10uIlxcbiI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICRtc2cgLj0gIk1lc3NhZ2U6XFxuIjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgaWYgKGlzc2V0KCRfUkVRVUVTVFsnbWVzc2FnZSddKSkgJG1zZyAuPSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyRfUkVRVUVTVFtcJ21lc3NhZ2VcJ10uIlxcbiI7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAiICAgICRtYWlsLT5tc2dIVE1MKCc8cHJlPicuJG1zZy4nPC9wcmU+Jyk7XHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIGlmICgkbWFpbC0+c2VuZCgpKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIH0gZWxzZSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgZWNobyAiPGgzPiBTeXN0ZW0gRXJyb3IuIDwvaDM+IjtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAkYm1zZyA9IFwnRnJvbTogYnVnQHdlYmFzb25lLmNvbVwnLiAiXFxuIi5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAnU3ViamVjdDogVXNlciBTdWJtaXQgZnJvbSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1wnLmdldGhvc3RuYW1lKCkuIlxcblxcbiIuXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgXCdAcHJvZHVjdCA9IFdlYkFzT25lXCcuIlxcbiIuXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgXCdAY29tcG9uZW50ID0gVXNlclJlcG9ydFwnLiJcXG4iLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgIFwnQG9wX3N5cyBMaW51eFwnLiJcXG4iLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgIFwnQHJlcF9wbGF0Zm9ybSBBbGxcJy4iXFxuIi5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICBcJ0B2ZXJzaW9uID0gMS4wLjBcJy4iXFxuIi5cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICBcJ0BTZXZlcml0eSA9IG5vcm1hbFwnLiJcXG5cXG5cXG4iLiAgICBcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAkbXNnO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpbGVfcHV0X2NvbnRlbnRzKCIvaG9tZS9jbXNub3cvZm9ybV9tc2cudHh0IiwkYm1zZyk7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIGlmICgkYnVnemlsbGFTZXJ2ZXIpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAkZGVzY3JpcHRvcnNwZWMgPSBhcnJheShcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIDAgPT4gYXJyYXkoInBpcGUiLCAiciIpLCAgLy8gc3RkaW4gaXMgYSAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BpcGUgdGhhdCB0aGUgY2hpbGQgd2lsbCByZWFkIGZyb21cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIDEgPT4gYXJyYXkoInBpcGUiLCAidyIpLCAgLy8gc3Rkb3V0IGlzIGEgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdwaXBlIHRoYXQgdGhlIGNoaWxkIHdpbGwgd3JpdGUgdG9cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIDIgPT4gYXJyYXkoImZpbGUiLCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyIvaG9tZS9jbXNub3cvL2Vycm9yLW91dHB1dC50eHQiLCAidysiKSAvLyBzdGRlcnIgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdpcyBhIGZpbGUgdG8gd3JpdGUgdG9cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICApO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICRjbWQgPSAnc3NoICcuJGJ1Z3ppbGxhU2VydmVyLicgIgogICAgICAgICAgICAgICAgICAgICAgICAgICciL2hvbWUvY21zbm93L3d3dy9ob3N0cy9cJy4kYnVnemlsbGFTZXJ2ZXIuXCcvZG9jcy9lbWFpbF9pbi5wbCJcJztcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAkcHJvY2VzcyA9IHByb2Nfb3BlbigkY21kLCAkZGVzY3JpcHRvcnNwZWMsICcKICAgICAgICAgICAgICAgICAgICAgICAgICAnJHBpcGVzKTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICBpZiAoaXNfcmVzb3VyY2UoJHByb2Nlc3MpKSB7XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyAkcGlwZXMgbm93IGxvb2tzIGxpa2UgdGhpczpcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIC8vIDAgPT4gd3JpdGVhYmxlIGhhbmRsZSBjb25uZWN0ZWQgdG8gY2hpbGQgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdzdGRpblxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gMSA9PiByZWFkYWJsZSBoYW5kbGUgY29ubmVjdGVkIHRvIGNoaWxkICcKICAgICAgICAgICAgICAgICAgICAgICAgICAnc3Rkb3V0XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBmd3JpdGUoJHBpcGVzWzBdLCAkYm1zZyk7IC8vICcKICAgICAgICAgICAgICAgICAgICAgICAgICAiZmlsZV9nZXRfY29udGVudHMoJ3BocDovL3N0ZGluJylcclxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIGZjbG9zZSgkcGlwZXNbMF0pO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgJG91dHB1dCA9ICcKICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyZWFtX2dldF9jb250ZW50cygkcGlwZXNbMV0pO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgI2VjaG8gJG91dHB1dDtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIGZjbG9zZSgkcGlwZXNbMV0pO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgLy8gSXQgaXMgaW1wb3J0YW50IHRoYXQgeW91IGNsb3NlIGFueSBwaXBlcyAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JlZm9yZSBjYWxsaW5nXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAvLyBwcm9jX2Nsb3NlIGluIG9yZGVyIHRvIGF2b2lkIGEgJwogICAgICAgICAgICAgICAgICAgICAgICAgICdkZWFkbG9ja1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgJHJldHVybl92YWx1ZSA9IHByb2NfY2xvc2UoJHByb2Nlc3MpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgI2VjaG8gJHJldHVybl92YWx1ZTtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICB9XHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIH0gICAgXHJcbicKICAgICAgICAgICAgICAgICAgICAgICAgICAnICB9IGNhdGNoIChUaHJvd2FibGUgJGUpIHtcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgbXlsb2coJGUpO1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICBlY2hvICRlOyAvLyBFcnJvcjogVW5kZWZpbmVkIHZhcmlhYmxlOiB0dy4uLlxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgfVxyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xyXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ31cclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICdcclxuJwogICAgICAgICAgICAgICAgICAgICAgICAgICc/PlxyXG4nLAogICAgICAgICAgICAgICAncGhwRmlsZUEnOiAnJywKICAgICAgICAgICAgICAgJ3BocEZpbGVCJzogJycsCiAgICAgICAgICAgICAgICd0Y29kZSc6ICcnLAogICAgICAgICAgICAgICAndmNvZGUnOiAnJ319fQo=
Questions or comments
Submit