{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAgIFRIRSBWT1JURVggQUxUSVRVREUg4oCUIE1BSU4gRlVOTkVMIFtTUExJVCBCIOKAlCBCTFVFICYgR09MRF0KICAgICAgIEVudHJ5OiAvZXhjbHVzaXZlLXdlbGNvbWUKICAgICAgIEhhc2g6ICN3ZWxjb21lIOKGkiAjZGV0YWlscyDihpIgI2Fzc2VzcyDihpIgI3Jlc3VsdHMg4oaSICNuZXh0CiAgICAgICBEZXBsb3kgdG86IHRoZW1lcmlkaWFuLmFmcmljYS9leGNsdXNpdmUtd2VsY29tZS9pbmRleC5odG1sCiAgICAgICBDT0xPUiBETkE6IFJveWFsIEJsdWUgKCMxRTNBOEEpICsgR29sZCAoI0Q0QUYzNykKICAgICAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgogIDx0aXRsZT5FbnRlciBZb3VyIEludml0YXRpb24gfCBUaGUgVm9ydGV4IEFsdGl0dWRlIERpYWdub3N0aWMgfCBUaGUgU292ZXJlaWduIEFyY2hpdGVjdHM8L3RpdGxlPgogIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJZb3VyIGV4Y2x1c2l2ZSBpbnZpdGF0aW9uIHRvIHRoZSBWb3J0ZXggQWx0aXR1ZGUgYXdhaXRzLiBFbnRlciB5b3VyIGludml0ZSBjb2RlIHRvIGJlZ2luIHRoZSA3LWRpbWVuc2lvbiBGb3VuZGVyIFJlYWRpbmVzcyBEaWFnbm9zdGljIGFuZCBlYXJuIHlvdXIgZnJlZSBleHBlcnQgZmVhdHVyZSBhcnRpY2xlLiI+CiAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9Imludml0ZSBjb2RlLCBleGNsdXNpdmUgZGlhZ25vc3RpYywgZm91bmRlciBhc3Nlc3NtZW50LCBFYXN0IEFmcmljYSBidXNpbmVzcyBldmFsdWF0aW9uLCBleHBlcnQgZmVhdHVyZSBvcHBvcnR1bml0eSI+CiAgPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vdGhlbWVyaWRpYW4uYWZyaWNhL2V4Y2x1c2l2ZS13ZWxjb21lIj4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0id2Vic2l0ZSI+CiAgPG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJZb3VyIEludml0YXRpb24gQXdhaXRzIHwgVGhlIFZvcnRleCBBbHRpdHVkZSBEaWFnbm9zdGljIj4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkVudGVyIHlvdXIgZXhjbHVzaXZlIGludml0ZSBjb2RlIHRvIHVubG9jayB0aGUgRm91bmRlciBSZWFkaW5lc3MgRGlhZ25vc3RpYy4gMjEgcXVlc3Rpb25zLiA3IGRpbWVuc2lvbnMuIE9uZSBob25lc3QgbWlycm9yLiBQbHVzIGEgZnJlZSBleHBlcnQgZmVhdHVyZSBvbiBvdXIgMjctY2hhbm5lbCBtZWRpYSBuZXR3b3JrLiI+CiAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSJodHRwczovL3RoZW1lcmlkaWFuLmFmcmljYS9pbWFnZXMvdm9ydGV4LWdhdGUtb2cuanBnIj4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwczovL3RoZW1lcmlkaWFuLmFmcmljYS9leGNsdXNpdmUtd2VsY29tZSI+CiAgPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29udGVudD0iVGhlIFNvdmVyZWlnbiBBcmNoaXRlY3RzIj4KICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiPgogIDxtZXRhIG5hbWU9InR3aXR0ZXI6dGl0bGUiIGNvbnRlbnQ9IllvdXIgSW52aXRhdGlvbiBBd2FpdHMgfCBUaGUgVm9ydGV4IEFsdGl0dWRlIERpYWdub3N0aWMiPgogIDxtZXRhIG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkVudGVyIHlvdXIgZXhjbHVzaXZlIGludml0ZSBjb2RlIHRvIHVubG9jayB0aGUgRm91bmRlciBSZWFkaW5lc3MgRGlhZ25vc3RpYy4gMjEgcXVlc3Rpb25zLiA3IGRpbWVuc2lvbnMuIE9uZSBob25lc3QgbWlycm9yLiI+CiAgPG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZSIgY29udGVudD0iaHR0cHM6Ly90aGVtZXJpZGlhbi5hZnJpY2EvaW1hZ2VzL3ZvcnRleC1nYXRlLW9nLmpwZyI+CiAgPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJpbmRleCwgZm9sbG93Ij4KICA8c3R5bGU+CiAgICAqe21hcmdpbjowO3BhZGRpbmc6MDtib3gtc2l6aW5nOmJvcmRlci1ib3h9CiAgICBib2R5e2ZvbnQtZmFtaWx5OidTZWdvZSBVSScsVGFob21hLEdlbmV2YSxWZXJkYW5hLHNhbnMtc2VyaWY7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNmMGY0ZmYsI2U4ZWNmNSk7Y29sb3I6IzBmMTcyYTttaW4taGVpZ2h0OjEwMHZofQogICAgLmtlbnRle2hlaWdodDo4cHg7YmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDkwZGVnLCNENEFGMzcgMHB4LCNENEFGMzcgMzBweCwjMUUzQThBIDMwcHgsIzFFM0E4QSA2MHB4LCMzQjgyRjYgNjBweCwjM0I4MkY2IDkwcHgsIzBmMTcyYSA5MHB4LCMwZjE3MmEgMTIwcHgpfQogICAgLmtlbnRlLXNte2hlaWdodDo2cHg7YmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDkwZGVnLCNENEFGMzcgMHB4LCNENEFGMzcgMzBweCwjMUUzQThBIDMwcHgsIzFFM0E4QSA2MHB4LCMzQjgyRjYgNjBweCwjM0I4MkY2IDkwcHgsIzBmMTcyYSA5MHB4LCMwZjE3MmEgMTIwcHgpfQogICAgLmNvbnRhaW5lcnttYXgtd2lkdGg6ODYwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjMwcHggMjBweH0KICAgIC5jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjE1cHg7cGFkZGluZzozMHB4O21hcmdpbi1ib3R0b206MjVweDtib3gtc2hhZG93OjAgNXB4IDIwcHggcmdiYSgwLDAsMCwuMDgpO2FuaW1hdGlvbjpmYWRlSW4gLjRzIGVhc2V9CiAgICAuaGVyb3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzBmMTcyYSAwJSwjMWUyOTNiIDUwJSwjMUUzQThBIDEwMCUpO3BhZGRpbmc6NTBweCAyMHB4O3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0KICAgIC5oZXJvOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtvcGFjaXR5Oi4wMztiYWNrZ3JvdW5kLWltYWdlOnJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoNDVkZWcsI0Q0QUYzNyAwcHgsdHJhbnNwYXJlbnQgMXB4LHRyYW5zcGFyZW50IDIwcHgsI0Q0QUYzNyAyMXB4KTtiYWNrZ3JvdW5kLXNpemU6MzBweCAzMHB4fQogICAgLmhlcm8tY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9CiAgICAubGFiZWx7Zm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6NnB4O2NvbG9yOiNENEFGMzc7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO21hcmdpbi1ib3R0b206MTBweDtmb250LXdlaWdodDo2MDB9CiAgICBoMXtjb2xvcjojZmZmO2ZvbnQtc2l6ZToyLjRyZW07bWFyZ2luLWJvdHRvbTo4cHg7dGV4dC1zaGFkb3c6MnB4IDJweCA0cHggcmdiYSgwLDAsMCwuMyk7bGluZS1oZWlnaHQ6MS4xNX0KICAgIC5zdWJ7Y29sb3I6I0Q0QUYzNztmb250LXNpemU6MS4xNXJlbTtmb250LXdlaWdodDo1MDB9CiAgICAuYnlsaW5le2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO2ZvbnQtc2l6ZTouOTVyZW07bWFyZ2luLXRvcDoxMnB4O2ZvbnQtc3R5bGU6aXRhbGljfQogICAgLmZsYWdze2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxOHB4O21hcmdpbi10b3A6MjBweDtmbGV4LXdyYXA6d3JhcH0KICAgIC5mbGFncyBzcGFue2NvbG9yOiNmZmY7Zm9udC1zaXplOi45cmVtO29wYWNpdHk6Ljg1fQogICAgLnByb2dyZXNzLWJhcntiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzoxNHB4IDIwcHg7cG9zaXRpb246c3RpY2t5O3RvcDowO3otaW5kZXg6MTAwO2JveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDAsMCwwLC4xKX0KICAgIC5wcm9ncmVzcy1pbm5lcntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWF4LXdpZHRoOjgwMHB4O21hcmdpbjowIGF1dG87cG9zaXRpb246cmVsYXRpdmV9CiAgICAucHJvZ3Jlc3MtbGluZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6MDtyaWdodDowO2hlaWdodDozcHg7YmFja2dyb3VuZDojZTBlMGUwO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3otaW5kZXg6MX0KICAgIC5wcm9ncmVzcy1maWxse3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO2hlaWdodDozcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsI0Q0QUYzNywjMUUzQThBKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt6LWluZGV4OjI7Ym9yZGVyLXJhZGl1czoycHg7dHJhbnNpdGlvbjp3aWR0aCAuNXMgZWFzZX0KICAgIC5zdGVwe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6M30KICAgIC5zdGVwLWRvdHt3aWR0aDozNHB4O2hlaWdodDozNHB4O2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjEzcHg7Ym9yZGVyOjNweCBzb2xpZCAjZmZmO2JveC1zaGFkb3c6MCAycHggNXB4IHJnYmEoMCwwLDAsLjEpO3RyYW5zaXRpb246YWxsIC4zc30KICAgIC5zdGVwLWRvdC5kb25le2JhY2tncm91bmQ6I0Q0QUYzNztjb2xvcjojZmZmfQogICAgLnN0ZXAtZG90LmN1cnJlbnR7YmFja2dyb3VuZDojMUUzQThBO2NvbG9yOiNmZmZ9CiAgICAuc3RlcC1kb3QucGVuZGluZ3tiYWNrZ3JvdW5kOiNlMGUwZTA7Y29sb3I6IzY2Nn0KICAgIC5zdGVwLWxhYmVse2ZvbnQtc2l6ZTo5cHg7bWFyZ2luLXRvcDo0cHg7dGV4dC1hbGlnbjpjZW50ZXI7bWF4LXdpZHRoOjYwcHg7bGluZS1oZWlnaHQ6MS4yfQogICAgLnRpbWVye2Rpc3BsYXk6ZmxleDtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfQogICAgLnRpbWVyLXVuaXR7dGV4dC1hbGlnbjpjZW50ZXJ9CiAgICAudGltZXItbnVte2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjMGYxNzJhLCMxRTNBOEEpO2NvbG9yOiNENEFGMzc7Zm9udC1zaXplOjI4cHg7Zm9udC13ZWlnaHQ6ODAwO3dpZHRoOjY0cHg7aGVpZ2h0OjY0cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMjEyLDE3NSw1NSwuMyk7Zm9udC1mYW1pbHk6J0NvdXJpZXIgTmV3Jyxtb25vc3BhY2V9CiAgICAudGltZXItbGJse2ZvbnQtc2l6ZTo5cHg7Y29sb3I6Izg4ODtsZXR0ZXItc3BhY2luZzoycHg7bWFyZ2luLXRvcDo0cHg7Zm9udC13ZWlnaHQ6NzAwfQogICAgaW5wdXRbdHlwZT10ZXh0XSxpbnB1dFt0eXBlPWVtYWlsXSxpbnB1dFt0eXBlPXRlbF0saW5wdXRbdHlwZT1wYXNzd29yZF17d2lkdGg6MTAwJTtwYWRkaW5nOjE0cHggMTZweDtib3JkZXI6MnB4IHNvbGlkICNlMGUwZTA7Ym9yZGVyLXJhZGl1czoxMHB4O2ZvbnQtc2l6ZToxNnB4O3RyYW5zaXRpb246YWxsIC4zcztiYWNrZ3JvdW5kOiNmYWZhZmE7b3V0bGluZTpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LWZhbWlseTppbmhlcml0fQogICAgaW5wdXQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMxRTNBOEE7YmFja2dyb3VuZDojZmZmO2JveC1zaGFkb3c6MCAwIDAgNHB4IHJnYmEoMzAsNTgsMTM4LC4xKX0KICAgIC5jb2RlLWlucHV0e3RleHQtYWxpZ246Y2VudGVyO2xldHRlci1zcGFjaW5nOjRweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC1mYW1pbHk6J0NvdXJpZXIgTmV3Jyxtb25vc3BhY2U7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO21heC13aWR0aDo0MDBweDttYXJnaW46MCBhdXRvO2Rpc3BsYXk6YmxvY2t9CiAgICAuZm9ybS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZml0LG1pbm1heCgyNTBweCwxZnIpKTtnYXA6MTZweH0KICAgIGxhYmVse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo2cHg7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxNHB4O2NvbG9yOiMwZjE3MmF9CiAgICAuY291bnRyeS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZml0LG1pbm1heCgxMzBweCwxZnIpKTtnYXA6MTBweH0KICAgIC5jb3VudHJ5LWNhcmR7Ym9yZGVyOjJweCBzb2xpZCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjE0cHg7dGV4dC1hbGlnbjpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgLjNzO2JhY2tncm91bmQ6I2ZmZjtmb250LXNpemU6MTRweH0KICAgIC5jb3VudHJ5LWNhcmQuc2VsZWN0ZWR7Ym9yZGVyLWNvbG9yOiMxRTNBOEE7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoMzAsNTgsMTM4LC4wOCkscmdiYSgyMTIsMTc1LDU1LC4wOCkpO2ZvbnQtd2VpZ2h0OjcwMH0KICAgIC5jb3VudHJ5LWNhcmQgLmZsYWd7Zm9udC1zaXplOjEuNXJlbTttYXJnaW4tYm90dG9tOjRweH0KICAgIC5idG4tZ29sZHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI0Q0QUYzNywjYzlhMjI3KTtjb2xvcjojMGYxNzJhO2JvcmRlcjpub25lO3BhZGRpbmc6MTZweCAzNnB4O2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjcwMDtib3JkZXItcmFkaXVzOjEwcHg7Y3Vyc29yOnBvaW50ZXI7bGV0dGVyLXNwYWNpbmc6LjVweDt0cmFuc2l0aW9uOmFsbCAuM3M7Ym94LXNoYWRvdzowIDRweCAxNXB4IHJnYmEoMjEyLDE3NSw1NSwuMyk7Zm9udC1mYW1pbHk6aW5oZXJpdH0KICAgIC5idG4tZ29sZDpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTtib3gtc2hhZG93OjAgOHB4IDI1cHggcmdiYSgyMTIsMTc1LDU1LC40KX0KICAgIC5idG4tYmx1ZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzFFM0E4QSwjMWU0MGFmKTtjb2xvcjojZmZmO2JvcmRlcjpub25lO3BhZGRpbmc6MTZweCAzNnB4O2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjcwMDtib3JkZXItcmFkaXVzOjEwcHg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgLjNzO2JveC1zaGFkb3c6MCA0cHggMTVweCByZ2JhKDMwLDU4LDEzOCwuMyk7Zm9udC1mYW1pbHk6aW5oZXJpdH0KICAgIC5idG4tYmx1ZTpob3Zlcjpub3QoOmRpc2FibGVkKXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTtib3gtc2hhZG93OjAgOHB4IDI1cHggcmdiYSgzMCw1OCwxMzgsLjQpfQogICAgLmJ0bi1ibHVlOmRpc2FibGVke29wYWNpdHk6LjQ7Y3Vyc29yOm5vdC1hbGxvd2VkfQogICAgLmJ0bi1vdXRsaW5le2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjJweCBzb2xpZCAjRDRBRjM3O2NvbG9yOiNENEFGMzc7cGFkZGluZzoxNHB4IDMwcHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NjAwO2JvcmRlci1yYWRpdXM6MTBweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAuM3M7Zm9udC1mYW1pbHk6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246bm9uZTtkaXNwbGF5OmlubGluZS1ibG9ja30KICAgIC5idG4tb3V0bGluZTpkaXNhYmxlZHtvcGFjaXR5Oi4zO2N1cnNvcjpub3QtYWxsb3dlZH0KICAgIC5ibC1nb2xke2JvcmRlci1sZWZ0OjZweCBzb2xpZCAjRDRBRjM3fS5ici1nb2xke2JvcmRlci1yaWdodDo2cHggc29saWQgI0Q0QUYzN30KICAgIC5ibC1ibHVle2JvcmRlci1sZWZ0OjZweCBzb2xpZCAjMUUzQThBfS5ici1ibHVle2JvcmRlci1yaWdodDo2cHggc29saWQgIzFFM0E4QX0KICAgIC5ibC1za3l7Ym9yZGVyLWxlZnQ6NnB4IHNvbGlkICMzQjgyRjZ9LmJyLXNreXtib3JkZXItcmlnaHQ6NnB4IHNvbGlkICMzQjgyRjZ9CiAgICAuYmwtb3Jhbmdle2JvcmRlci1sZWZ0OjZweCBzb2xpZCAjRjU5RTBCfS5ici1vcmFuZ2V7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZCAjRjU5RTBCfQogICAgLmJsLWluZGlnb3tib3JkZXItbGVmdDo2cHggc29saWQgIzYzNjZGMX0uYnItaW5kaWdve2JvcmRlci1yaWdodDo2cHggc29saWQgIzYzNjZGMX0KICAgIC5ibC10ZWFse2JvcmRlci1sZWZ0OjZweCBzb2xpZCAjMEVBNUU5fS5ici10ZWFse2JvcmRlci1yaWdodDo2cHggc29saWQgIzBFQTVFOX0KICAgIC5jYXJkLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O21hcmdpbi1ib3R0b206MThweDtwYWRkaW5nLWJvdHRvbToxNHB4O2JvcmRlci1ib3R0b206M3B4IHNvbGlkICNENEFGMzd9CiAgICAuY2FyZC1pY29ue3dpZHRoOjQ1cHg7aGVpZ2h0OjQ1cHg7Ym9yZGVyLXJhZGl1czoxMnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MS4zcmVtO2ZsZXgtc2hyaW5rOjB9CiAgICAuc2VjLWRvdHN7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjZweDttYXJnaW4tYm90dG9tOjI0cHh9CiAgICAuc2VjLWRvdHtoZWlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjVweDt0cmFuc2l0aW9uOmFsbCAuM3M7Y3Vyc29yOmRlZmF1bHR9CiAgICAucS1jYXJke2JvcmRlcjoycHggc29saWQgI2VlZTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMHB4O21hcmdpbi1ib3R0b206MTRweDt0cmFuc2l0aW9uOmFsbCAuM3M7YmFja2dyb3VuZDojZmFmYWZhfQogICAgLnEtY2FyZC5hbnN3ZXJlZHtiYWNrZ3JvdW5kOnJnYmEoMzAsNTgsMTM4LC4wMyk7Ym9yZGVyLWNvbG9yOnJnYmEoMzAsNTgsMTM4LC4xMil9CiAgICAucS10ZXh0e2ZvbnQtc2l6ZToxNXB4O2NvbG9yOiMzMzM7bGluZS1oZWlnaHQ6MS42O21hcmdpbi1ib3R0b206MTRweH0KICAgIC5xLW51bXtjb2xvcjojODg4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tcmlnaHQ6OHB4fQogICAgLnEtb3B0c3tkaXNwbGF5OmZsZXg7Z2FwOjEwcHh9CiAgICAucS1vcHR7ZmxleDoxO3BhZGRpbmc6MTNweCAxNnB4O2JvcmRlci1yYWRpdXM6MTBweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgLjJzO2JvcmRlcjoycHggc29saWQgI2U4ZThlODtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6Izg4ODt0ZXh0LWFsaWduOmNlbnRlcjtmb250LWZhbWlseTppbmhlcml0fQogICAgLnEtb3B0LnNlbHtmb250LXdlaWdodDo3MDA7Ym94LXNoYWRvdzowIDJweCA4cHggcmdiYSgwLDAsMCwuMDUpfQogICAgLnNjb3JlLXJpbmd7d2lkdGg6MTcwcHg7aGVpZ2h0OjE3MHB4O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbjowIGF1dG8gMTZweDtwb3NpdGlvbjpyZWxhdGl2ZX0KICAgIC5zY29yZS1pbm5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTJweDtsZWZ0OjEycHg7cmlnaHQ6MTJweDtib3R0b206MTJweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNmZmY7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0KICAgIC5zY29yZS1udW17Zm9udC1zaXplOjQycHg7Zm9udC13ZWlnaHQ6ODAwO2ZvbnQtZmFtaWx5OidDb3VyaWVyIE5ldycsbW9ub3NwYWNlO2xpbmUtaGVpZ2h0OjF9CiAgICAuZGltLWJhcntoZWlnaHQ6OHB4O2JhY2tncm91bmQ6I2VlZTtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luLXRvcDo0cHh9CiAgICAuZGltLWZpbGx7aGVpZ2h0OjEwMCU7Ym9yZGVyLXJhZGl1czo0cHg7dHJhbnNpdGlvbjp3aWR0aCAxcyBlYXNlfQogICAgLmFjdGlvbi1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjE1cHg7cGFkZGluZzoyNHB4IDMwcHg7bWFyZ2luLWJvdHRvbToxNnB4O2JveC1zaGFkb3c6MCA1cHggMjBweCByZ2JhKDAsMCwwLC4wOCk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgLjNzfQogICAgLmFjdGlvbi1jYXJkOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfQogICAgLmFjdGlvbi1jYXJkLm9wZW57Ym94LXNoYWRvdzowIDhweCAzMHB4IHJnYmEoMCwwLDAsLjEyKX0KICAgIC5hY3Rpb24taGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE0cHh9CiAgICAuYWN0aW9uLWljb257d2lkdGg6NTJweDtoZWlnaHQ6NTJweDtib3JkZXItcmFkaXVzOjE0cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToxLjVyZW07ZmxleC1zaHJpbms6MH0KICAgIC5hY3Rpb24tYXJyb3d7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjE2cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzfQogICAgLmFjdGlvbi1ib2R5e21hcmdpbi10b3A6MjBweDthbmltYXRpb246ZmFkZUluIC4zcyBlYXNlfQogICAgLmFjdGlvbi1ibHVyYntib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxOHB4IDIwcHg7bWFyZ2luLWJvdHRvbToxNnB4fQogICAgLmFjdGlvbi1idG57ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cGFkZGluZzoxNXB4IDMycHg7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTVweDt0cmFuc2l0aW9uOmFsbCAuM3M7dGV4dC1hbGlnbjpjZW50ZXJ9CiAgICAuZm9vdGVyLWNhcmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMwZjE3MmEgMCUsIzFlMjkzYiA1MCUsIzFFM0E4QSAxMDAlKTt0ZXh0LWFsaWduOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxNnB4O3BhZGRpbmc6MzBweH0KICAgIC5mb290ZXItY2FyZCAua2VudGUtdG9we3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo2cHg7YmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDkwZGVnLCNENEFGMzcgMHB4LCNENEFGMzcgMzBweCwjMUUzQThBIDMwcHgsIzFFM0E4QSA2MHB4LCMzQjgyRjYgNjBweCwjM0I4MkY2IDkwcHgsIzBmMTcyYSA5MHB4LCMwZjE3MmEgMTIwcHgpfQogICAgLmhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fQogICAgQGtleWZyYW1lcyBmYWRlSW57ZnJvbXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0KICAgIEBrZXlmcmFtZXMgcHVsc2V7MCUsMTAwJXtvcGFjaXR5OjF9NTAle29wYWNpdHk6LjN9fQogICAgQG1lZGlhKG1heC13aWR0aDo2MDBweCl7aDF7Zm9udC1zaXplOjEuN3JlbX0uY2FyZHtwYWRkaW5nOjIycHh9LnRpbWVyLW51bXt3aWR0aDo1MnB4O2hlaWdodDo1MnB4O2ZvbnQtc2l6ZToyMnB4fS5mb3JtLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0uY291bnRyeS1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpfS5xLW9wdHN7ZmxleC1kaXJlY3Rpb246Y29sdW1ufX0KICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgU1RBR0UgMTogR0FURSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxkaXYgaWQ9InN0YWdlLWdhdGUiPgogIDxkaXYgY2xhc3M9ImtlbnRlIj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJoZXJvIj4KICAgIDxkaXYgY2xhc3M9Imhlcm8tY29udGVudCI+CiAgICAgIDxkaXYgY2xhc3M9ImxhYmVsIj5FeGNsdXNpdmUgSW52aXRhdGlvbjwvZGl2PgogICAgICA8aDE+VGhlIFZvcnRleCBBbHRpdHVkZTwvaDE+CiAgICAgIDxkaXYgY2xhc3M9InN1YiI+Rm91bmRlciBSZWFkaW5lc3MgRGlhZ25vc3RpYyAmYW1wOyBFeHBlcnQgRmVhdHVyZSBPcHBvcnR1bml0eTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJieWxpbmUiPkJ5IFRoZSBTb3ZlcmVpZ24gQXJjaGl0ZWN0cyDDlyBBZnJpY2EgRnJvbnRsaW5lIE1lZGlhIE5leHVzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZsYWdzIj48c3Bhbj7wn4e68J+HrCBVZ2FuZGE8L3NwYW4+PHNwYW4+8J+HsPCfh6ogS2VueWE8L3NwYW4+PHNwYW4+8J+HufCfh78gVGFuemFuaWE8L3NwYW4+PHNwYW4+8J+Ht/Cfh7wgUndhbmRhPC9zcGFuPjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ia2VudGUiPjwvZGl2PgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJjYXJkIGJsLWdvbGQiIHN0eWxlPSJiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI0Q0QUYzNywjYzlhMjI3KTtjb2xvcjojMGYxNzJhO3RleHQtYWxpZ246Y2VudGVyIj4KICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxMHB4O21hcmdpbi1ib3R0b206MThweCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxLjVyZW0iPuKPse+4jzwvc3Bhbj48aDMgc3R5bGU9ImZvbnQtc2l6ZToxLjNyZW0iPlRoaXMgSW52aXRhdGlvbiBFeHBpcmVzIEluPC9oMz48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idGltZXIiIGlkPSJ0aW1lciI+PC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6MTZweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjhweCI+CiAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6MTBweDtoZWlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiMwZjE3MmE7YW5pbWF0aW9uOnB1bHNlIDJzIGluZmluaXRlIj48L2Rpdj4KICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNXB4Ij48c3BhbiBpZD0ic3BvdHMiPjE3PC9zcGFuPiBvZiAyNSBzcG90cyByZW1haW5pbmc8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJjYXJkIGJsLWJsdWUiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+CiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOjNweDtjb2xvcjojODg4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttYXJnaW4tYm90dG9tOjE0cHg7Zm9udC13ZWlnaHQ6NjAwIj5FbnRlciBZb3VyIEludml0ZSBDb2RlPC9kaXY+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iY29kZS1pbnB1dCIgY2xhc3M9ImNvZGUtaW5wdXQiIHBsYWNlaG9sZGVyPSJFTlRFUiBDT0RFIiBtYXhsZW5ndGg9IjE2Ij4KICAgICAgPGRpdiBpZD0iY29kZS1lcnJvciIgY2xhc3M9ImhpZGRlbiIgc3R5bGU9ImNvbG9yOiNDNDFFM0E7Zm9udC1zaXplOjEzcHg7bWFyZ2luLXRvcDoxMHB4O2ZvbnQtd2VpZ2h0OjYwMCI+SW52YWxpZCBpbnZpdGUgY29kZS4gVGhpcyBkaWFnbm9zdGljIGlzIGJ5IGludml0YXRpb24gb25seS48L2Rpdj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLWJsdWUiIHN0eWxlPSJtYXJnaW4tdG9wOjE4cHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6NDAwcHg7Zm9udC1zaXplOjE3cHgiIG9uY2xpY2s9InN1Ym1pdENvZGUoKSI+VW5sb2NrIEFzc2Vzc21lbnQg4oaSPC9idXR0b24+CiAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6MTZweCI+PGEgaHJlZj0iL2V4Y2x1c2l2ZS1pbnZpdGUiIHN0eWxlPSJjb2xvcjojODg4O2ZvbnQtc2l6ZToxM3B4O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUiPuKGkCBCYWNrIHRvIEZyb250IERvb3I8L2E+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNhcmQgYnItb3JhbmdlIj4KICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPjxkaXYgY2xhc3M9ImNhcmQtaWNvbiIgc3R5bGU9ImJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjMUUzQThBLCMxZTQwYWYpIj7wn46BPC9kaXY+PGgzIHN0eWxlPSJmb250LXNpemU6MS4zcmVtIj5XaGF0IFlvdSBSZWNlaXZlPC9oMz48L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDIyMHB4LDFmcikpO2dhcDoxMnB4IiBpZD0iYmVuZWZpdHMtZ3JpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1pdGVtIj7wn5OKIEZvdW5kZXIgUmVhZGluZXNzIFNjb3JlIGFjcm9zcyA3IGNyaXRpY2FsIGRpbWVuc2lvbnM8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWl0ZW0iPvCfl7rvuI8gUGVyc29uYWxpc2VkIGV4cG9zdXJlIG1hcCB3aXRoIGRpbWVuc2lvbiBicmVha2Rvd248L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWl0ZW0iPvCfjqQgRlJFRSBleHBlcnQgZmVhdHVyZSBhcnRpY2xlIG9uIEFmcmljYSBGcm9udGxpbmUgTWVkaWEgKDI3IGNoYW5uZWxzKTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtaXRlbSI+8J+TgiBGUkVFIGxpc3RpbmcgaW4gRWFzdCBBZnJpY2EgVG9wIERpcmVjdG9yeSAoMSwwMDArIGJ1c2luZXNzZXMpPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1pdGVtIj7wn5SOIEZSRUUgb25saW5lIHZpc2liaWxpdHkgYXVkaXQgdmlhIFJlcEdyYWRlcjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtaXRlbSI+8J+SoSBTdHJhdGVnaWMgcmVjb21tZW5kYXRpb25zIHRhaWxvcmVkIHRvIHlvdXIgcmVhZGluZXNzIGxldmVsPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ia2VudGUtc20iPjwvZGl2Pgo8L2Rpdj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIFNUQUdFIDI6IENPTlRBQ1Qg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8ZGl2IGlkPSJzdGFnZS1jb250YWN0IiBjbGFzcz0iaGlkZGVuIj4KICA8ZGl2IGNsYXNzPSJrZW50ZS1zbSI+PC9kaXY+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIj48ZGl2IGNsYXNzPSJwcm9ncmVzcy1pbm5lciIgaWQ9InByb2dyZXNzLWNvbnRhY3QiPjwvZGl2PjwvZGl2PgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJjYXJkIGJsLWJsdWUiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+CiAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7YmFja2dyb3VuZDpyZ2JhKDMwLDU4LDEzOCwuMDgpO3BhZGRpbmc6OHB4IDE4cHg7Ym9yZGVyLXJhZGl1czo1MHB4O21hcmdpbi1ib3R0b206MTZweCI+CiAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiMxRTNBOEE7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNHB4Ij7inJMgQ29kZSBBY2NlcHRlZDwvc3Bhbj4KICAgICAgICA8c3BhbiBpZD0iYWNjZXB0ZWQtY29kZSIgc3R5bGU9ImZvbnQtZmFtaWx5OidDb3VyaWVyIE5ldycsbW9ub3NwYWNlO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojRDRBRjM3O2ZvbnQtc2l6ZToxM3B4Ij48L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8aDIgc3R5bGU9ImZvbnQtc2l6ZToxLjhyZW07bWFyZ2luLWJvdHRvbTo4cHg7bGluZS1oZWlnaHQ6MS4yIj5CZWZvcmUgV2UgRmVhdHVyZSBZb3Ug4oCUPGJyPkxldCdzIFNlZSBXaGVyZSBZb3UgU3RhbmQ8L2gyPgogICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDo2MHB4O2hlaWdodDozcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsI0Q0QUYzNywjMUUzQThBKTttYXJnaW46MTJweCBhdXRvIDIwcHg7Ym9yZGVyLXJhZGl1czoycHgiPjwvZGl2PgogICAgICA8cCBzdHlsZT0iY29sb3I6IzY2NjtsaW5lLWhlaWdodDoxLjg7bWF4LXdpZHRoOjYwMHB4O21hcmdpbjowIGF1dG87Zm9udC1zaXplOjE1cHgiPgogICAgICAgIEFmcmljYSdzIG1vc3QgaW1wb3J0YW50IHNoaWZ0cyByYXJlbHkgYW5ub3VuY2UgdGhlbXNlbHZlcy4gVGhleSBoYXBwZW4gaW4gcG9saWN5IGFkanVzdG1lbnRzLCByZWd1bGF0b3J5IGVuZm9yY2VtZW50LCBhbmQgbWFya2V0IGJlaGF2aW91ciB0aGF0IG9ubHkgYmVjb21lcyB2aXNpYmxlIGFmdGVyIGNvbnNlcXVlbmNlcyB1bmZvbGQuPGJyPjxicj4KICAgICAgICA8c3Ryb25nPlRoZSBwcm9ibGVtIGlzIG5vdCBzcGVlZC4gSXQgaXMgYWx0aXR1ZGUuPC9zdHJvbmc+CiAgICAgIDwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iY2FyZCBici1nb2xkIj4KICAgICAgPGgzIHN0eWxlPSJmb250LXNpemU6MS4xcmVtO21hcmdpbi1ib3R0b206MTZweCI+NyBEaW1lbnNpb25zIFdlJ2xsIE1lYXN1cmU8L2gzPgogICAgICA8ZGl2IGlkPSJkaW0tcHJldmlldyIgc3R5bGU9ImRpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZml0LG1pbm1heCgxNzBweCwxZnIpKTtnYXA6MTBweCI+PC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6MTZweDtiYWNrZ3JvdW5kOnJnYmEoMzAsNTgsMTM4LC4wNik7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDMwLDU4LDEzOCwuMTUpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjE0cHggMThweDt0ZXh0LWFsaWduOmNlbnRlciI+CiAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiMxRTNBOEE7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxNHB4Ij7wn5WQIEVzdGltYXRlZCBUaW1lOiA44oCTMTIgbWludXRlczwvc3Bhbj4KICAgICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jaztjb2xvcjojNjY2O2ZvbnQtc2l6ZToxMnB4O21hcmdpbi10b3A6NHB4Ij4yMSBxdWVzdGlvbnMuIEludGVudGlvbmFsbHkgdGhvcm91Z2guIFN1cmZhY2UtbGV2ZWwgdGhpbmtlcnMgbmVlZCBub3QgYXBwbHkuPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iY2FyZCBibC1vcmFuZ2UiPgogICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciIgc3R5bGU9ImJvcmRlci1ib3R0b20tY29sb3I6I0Y1OUUwQiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1pY29uIiBzdHlsZT0iYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNGNTlFMEIsI0Q5NzcwNikiPvCfkaQ8L2Rpdj4KICAgICAgICA8ZGl2PjxoMyBzdHlsZT0iZm9udC1zaXplOjEuMnJlbTttYXJnaW46MCI+WW91ciBEZXRhaWxzPC9oMz48cCBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6Izg4ODttYXJnaW46MCI+UmVxdWlyZWQgZm9yIHlvdXIgZXhwZXJ0IGZlYXR1cmUgYXJ0aWNsZTwvcD48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JpZCI+CiAgICAgICAgPGRpdj48bGFiZWw+RnVsbCBOYW1lICo8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZi1uYW1lIiBwbGFjZWhvbGRlcj0iWW91ciBmdWxsIG5hbWUiPjwvZGl2PgogICAgICAgIDxkaXY+PGxhYmVsPkVtYWlsIEFkZHJlc3MgKjwvbGFiZWw+PGlucHV0IHR5cGU9ImVtYWlsIiBpZD0iZi1lbWFpbCIgcGxhY2Vob2xkZXI9InlvdXJAZW1haWwuY29tIj48L2Rpdj4KICAgICAgICA8ZGl2PjxsYWJlbD5CdXNpbmVzcyAvIE9yZ2FuaXNhdGlvbiAqPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImYtY29tcGFueSIgcGxhY2Vob2xkZXI9IllvdXIgY29tcGFueSBuYW1lIj48L2Rpdj4KICAgICAgICA8ZGl2PjxsYWJlbD5Zb3VyIFJvbGUgLyBUaXRsZTwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJmLXJvbGUiIHBsYWNlaG9sZGVyPSJlLmcuIEZvdW5kZXIsIENFTywgRGlyZWN0b3IiPjwvZGl2PgogICAgICAgIDxkaXY+PGxhYmVsPlBob25lICh3aXRoIGNvdW50cnkgY29kZSk8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZWwiIGlkPSJmLXBob25lIiBwbGFjZWhvbGRlcj0iKzI1NiA3MDAgMDAwIDAwMCI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOjIwcHgiPgogICAgICAgIDxsYWJlbCBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMHB4Ij5Db3VudHJ5ICo8L2xhYmVsPgogICAgICAgIDxkaXYgY2xhc3M9ImNvdW50cnktZ3JpZCIgaWQ9ImNvdW50cnktZ3JpZCI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YnV0dG9uIGlkPSJidG4tYmVnaW4iIGNsYXNzPSJidG4tYmx1ZSIgc3R5bGU9Im1hcmdpbi10b3A6MjRweDt3aWR0aDoxMDAlO2ZvbnQtc2l6ZToxN3B4IiBkaXNhYmxlZCBvbmNsaWNrPSJzdGFydEFzc2Vzc21lbnQoKSI+QmVnaW4gTXkgQXNzZXNzbWVudCDihpI8L2J1dHRvbj4KICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImtlbnRlLXNtIj48L2Rpdj4KPC9kaXY+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBTVEFHRSAzOiBBU1NFU1NNRU5UIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPGRpdiBpZD0ic3RhZ2UtYXNzZXNzIiBjbGFzcz0iaGlkZGVuIj4KICA8ZGl2IGNsYXNzPSJrZW50ZS1zbSI+PC9kaXY+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIj48ZGl2IGNsYXNzPSJwcm9ncmVzcy1pbm5lciIgaWQ9InByb2dyZXNzLWFzc2VzcyI+PC9kaXY+PC9kaXY+CiAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InNlYy1kb3RzIiBpZD0ic2VjLWRvdHMiPjwvZGl2PgogICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWJvdHRvbTo4cHgiPgogICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6Izg4ODtsZXR0ZXItc3BhY2luZzoycHg7Zm9udC13ZWlnaHQ6NjAwIj5TRUNUSU9OIDxzcGFuIGlkPSJzZWMtbnVtIj4xPC9zcGFuPiBPRiA3PC9zcGFuPgogICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjAgMTJweDtjb2xvcjojZGRkIj58PC9zcGFuPgogICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6Izg4OCI+PHNwYW4gaWQ9InEtYW5zd2VyZWQiPjA8L3NwYW4+LzIxIGFuc3dlcmVkPC9zcGFuPgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6NHB4O2JhY2tncm91bmQ6I2VlZTtib3JkZXItcmFkaXVzOjJweDttYXJnaW4tYm90dG9tOjI0cHg7b3ZlcmZsb3c6aGlkZGVuIj4KICAgICAgPGRpdiBpZD0icS1wcm9ncmVzcyIgc3R5bGU9ImhlaWdodDoxMDAlO3dpZHRoOjAlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNENEFGMzcsIzFFM0E4QSk7Ym9yZGVyLXJhZGl1czoycHg7dHJhbnNpdGlvbjp3aWR0aCAuNXMgZWFzZSI+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgaWQ9InNlY3Rpb24tY2FyZCIgY2xhc3M9ImNhcmQiPjwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImtlbnRlLXNtIj48L2Rpdj4KPC9kaXY+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBTVEFHRSA0OiBSRVNVTFRTIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPGRpdiBpZD0ic3RhZ2UtcmVzdWx0cyIgY2xhc3M9ImhpZGRlbiI+CiAgPGRpdiBjbGFzcz0ia2VudGUiPjwvZGl2PgogIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+PGRpdiBjbGFzcz0icHJvZ3Jlc3MtaW5uZXIiIGlkPSJwcm9ncmVzcy1yZXN1bHRzIj48L2Rpdj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgPGRpdiBpZD0iZW1haWwtbm90aWYiIGNsYXNzPSJoaWRkZW4iIHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMzAsNTgsMTM4LC4wNik7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDMwLDU4LDEzOCwuMik7Ym9yZGVyLXJhZGl1czoxMHB4O3BhZGRpbmc6MTJweCAxOHB4O21hcmdpbi1ib3R0b206MjBweDt0ZXh0LWFsaWduOmNlbnRlcjthbmltYXRpb246ZmFkZUluIC40cyBlYXNlIj4KICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiMxRTNBOEE7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NjAwIj7inJMgWW91ciByZXN1bHRzIGhhdmUgYmVlbiByZWNvcmRlZCBhbmQgb3VyIHRlYW0gaGFzIGJlZW4gbm90aWZpZWQ8L3NwYW4+CiAgICA8L2Rpdj4KICAgIDxkaXYgaWQ9InJlc3VsdHMtY29udGVudCI+PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MTBweCAwIj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLWdvbGQiIHN0eWxlPSJmb250LXNpemU6MThweDtwYWRkaW5nOjE4cHggNTBweDt3aWR0aDoxMDAlO21heC13aWR0aDo1MDBweCIgb25jbGljaz0iZ29Ub1N0YWdlKCduZXh0c3RlcHMnKSI+Q2hvb3NlIFlvdXIgTmV4dCBTdGVwIOKGkjwvYnV0dG9uPgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTJweDtjb2xvcjojYWFhO2xpbmUtaGVpZ2h0OjEuNyI+CiAgICAgIDxzdHJvbmcgc3R5bGU9ImNvbG9yOiNENEFGMzciPlRoZSBWb3J0ZXggQWx0aXR1ZGUgRGlhZ25vc3RpYzwvc3Ryb25nPiDigJQgVGhlIFNvdmVyZWlnbiBBcmNoaXRlY3RzIMOXIEFmcmljYSBGcm9udGxpbmUgTWVkaWEgTmV4dXMKICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImtlbnRlIj48L2Rpdj4KPC9kaXY+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBTVEFHRSA1OiBORVhUIFNURVBTIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPGRpdiBpZD0ic3RhZ2UtbmV4dHN0ZXBzIiBjbGFzcz0iaGlkZGVuIj4KICA8ZGl2IGNsYXNzPSJrZW50ZSI+PC9kaXY+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIj48ZGl2IGNsYXNzPSJwcm9ncmVzcy1pbm5lciIgaWQ9InByb2dyZXNzLW5leHQiPjwvZGl2PjwvZGl2PgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8ZGl2IGlkPSJuZXh0c3RlcHMtY29udGVudCI+PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tdG9wOjI0cHgiPgogICAgICA8YnV0dG9uIGNsYXNzPSJidG4tb3V0bGluZSIgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O3BhZGRpbmc6MTJweCAyOHB4IiBvbmNsaWNrPSJnb1RvU3RhZ2UoJ3Jlc3VsdHMnKSI+4oaQIEJhY2sgdG8gTXkgRnVsbCBSZXN1bHRzPC9idXR0b24+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1jYXJkIiBzdHlsZT0ibWFyZ2luLXRvcDoyMHB4Ij4KICAgICAgPGRpdiBjbGFzcz0ia2VudGUtdG9wIj48L2Rpdj4KICAgICAgPHAgc3R5bGU9ImNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjg1KTtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxLjg7bWF4LXdpZHRoOjUyMHB4O21hcmdpbjowIGF1dG87Zm9udC1zdHlsZTppdGFsaWM7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxIj4iQ2xhcml0eSBpcyBhIGNvbXBldGl0aXZlIGFkdmFudGFnZS48YnI+QnVpbGQgd2hhdCB5b3Ugb3duLiI8L3A+CiAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6MTRweDtjb2xvcjojRDRBRjM3O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTNweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjEiPlRoZSBTb3ZlcmVpZ24gQXJjaGl0ZWN0cyDDlyBBZnJpY2EgRnJvbnRsaW5lIE1lZGlhIE5leHVzPC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6NnB4O2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpO2ZvbnQtc2l6ZToxMXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MSI+MjcgY2hhbm5lbHMgwrcgMzQsNTAwKyBwb3N0cyDCtyBZb3VyIHN0b3J5IGlzIG5leHQuPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJrZW50ZSI+PC9kaXY+CjwvZGl2PgoKPHNjcmlwdD4KLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgIFZPUlRFWCBBTFRJVFVERSDigJQgU1BMSVQgQiBFTkdJTkUgKEJMVUUgJiBHT0xEKQogICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi8KCmNvbnN0IENPREVTPXtWT1JURVgyMDI2OntzcmM6ImxpbmtlZGluIn0sQUxUSVRVREUyNjp7c3JjOiJtYXN0ZXJtaW5kIn0sU09WRVJFSUdOMjY6e3NyYzoiZGlyZWN0In0sRlJPTlRMSU5FMjY6e3NyYzoiY29hY2gifSxBUkNISVRFQ1QyNjp7c3JjOiJyZWZlcnJhbCJ9fTsKCmNvbnN0IFNFR01FTlRTPXsKICBhdWRhY2lvdXM6e2xhYmVsOiJBdWRhY2lvdXMiLGNvbG9yOiIjRDRBRjM3IixiZzoiI0ZGRjlFNiIsaWNvbjoi8J+mhSIsdGFnOiJWaXNpb25hcnkgQnVpbGRlciIsZGVzYzoiWW91IG9wZXJhdGUgYXQgYWx0aXR1ZGUuIFlvdXIgc3RydWN0dXJlcyBhcmUgc291bmQsIHlvdXIgZGlnaXRhbCBwcmVzZW5jZSBpcyBpbnRlbnRpb25hbCwgYW5kIHlvdSB0aGluayBpbiBzeXN0ZW1zLiBZb3UgZG9uJ3QganVzdCBydW4gYSBidXNpbmVzcyDigJQgeW91IGFyY2hpdGVjdCBhbiBlbXBpcmUuIFRoZSBuZXh0IG1vdmUgaXMgc2NhbGUuIixyZWNvOiJZb3UncmUgcmVhZHkgZm9yIHRoZSBmdWxsIEFnZW50aWMgSm91cm5hbGlzdCBhdXRob3JpdHkgcGFja2FnZSDigJQgcmVjdXJyaW5nIGV4cGVydCBpbnRlcnZpZXdzLCBtdWx0aS1jaGFubmVsIHB1Ymxpc2hpbmcsIGFuZCB0aG91Z2h0IGxlYWRlcnNoaXAgcG9zaXRpb25pbmcgYWNyb3NzIG91ciAyNy1jaGFubmVsIG5ldHdvcmsuIn0sCiAgc2VyaW91czp7bGFiZWw6IlNlcmlvdXMiLGNvbG9yOiIjMUUzQThBIixiZzoiI0VFRjJGRiIsaWNvbjoi8J+Pl++4jyIsdGFnOiJDb21taXR0ZWQgQnVpbGRlciIsZGVzYzoiWW91J3ZlIGJ1aWx0IHNvbWV0aGluZyByZWFsIGFuZCB5b3UgcHJvdGVjdCBpdC4gQSBmZXcgc3RydWN0dXJhbCBnYXBzIHJlbWFpbiwgYnV0IHlvdXIgZm91bmRhdGlvbiBpcyBzdHJvbmcuIFdpdGggdGFyZ2V0ZWQgYXR0ZW50aW9uIHRvIHRoZSBhbWJlciB6b25lcyBpbiB5b3VyIGRpYWdub3N0aWMsIHlvdSdsbCBtb3ZlIGZyb20gc2VyaW91cyB0byBzb3ZlcmVpZ24uIixyZWNvOiJTdGFydCB3aXRoIG91ciBUb3BpY2FsIEV4cGVydCBwYWNrYWdlIOKAlCA0IGV4cGVydCBhcnRpY2xlcyBwZXIgbW9udGggYnVpbGRpbmcgeW91ciBhdXRob3JpdHkgd2hpbGUgd2UgYWRkcmVzcyB0aGUgZ2FwcyB5b3VyIGRpYWdub3N0aWMgcmV2ZWFsZWQuIn0sCiAgY3VyaW91czp7bGFiZWw6IkN1cmlvdXMiLGNvbG9yOiIjM0I4MkY2IixiZzoiI0YwRjRGRiIsaWNvbjoi8J+UrSIsdGFnOiJFeHBsb3JpbmcgRWxldmF0aW9uIixkZXNjOiJZb3Ugc2Vuc2UgdGhlcmUncyBhIGhpZ2hlciBsZXZlbCBidXQgaGF2ZW4ndCBtYXBwZWQgdGhlIHJvdXRlIHlldC4gWW91ciBidXNpbmVzcyBydW5zLCBidXQgaXQncyB2dWxuZXJhYmxlIGluIHdheXMgeW91IG1heSBub3QgaGF2ZSBleGFtaW5lZC4gVGhpcyBkaWFnbm9zdGljIGp1c3QgZ2F2ZSB5b3UgdGhlIG1hcC4iLHJlY286IkJlZ2luIHdpdGggYSBzaW5nbGUgZXhwZXJ0IGZlYXR1cmUgYXJ0aWNsZSBvbiBvdXIgbmV0d29yayDigJQgZXhwZXJpZW5jZSB0aGUgYXV0aG9yaXR5LWJ1aWxkaW5nIHByb2Nlc3MgZmlyc3RoYW5kLCB0aGVuIGRlY2lkZSB5b3VyIG5leHQgc3RlcC4ifSwKICBjYXV0aW91czp7bGFiZWw6IkNhdXRpb3VzIixjb2xvcjoiI0Y1OUUwQiIsYmc6IiNGRkZCRUIiLGljb246IvCfm6HvuI8iLHRhZzoiQXdhcmUgQnV0IEd1YXJkZWQiLGRlc2M6IllvdSdyZSBhd2FyZSBzb21ldGhpbmcgbmVlZHMgdG8gY2hhbmdlIGJ1dCBoYXZlbid0IGNvbW1pdHRlZCB0byB0aGUgc3RydWN0dXJhbCB3b3JrIHlldC4gVGhhdCdzIGhvbmVzdCDigJQgYW5kIGhvbmVzdHkgaXMgdGhlIGZpcnN0IHN0ZXAuIFlvdXIgZGlhZ25vc3RpYyByZXZlYWxzIGV4YWN0bHkgd2hlcmUgdG8gc3RhcnQuIixyZWNvOiJDbGFpbSB5b3VyIGZyZWUgZGlyZWN0b3J5IGxpc3RpbmcgYW5kIHZpc2liaWxpdHkgYXVkaXQgZmlyc3QuIFNlZSB3aGVyZSB5b3Ugc3RhbmQgcHVibGljbHksIHRoZW4gbGV0J3MgaGF2ZSBhIHN0cmF0ZWdpYyBjb252ZXJzYXRpb24gYWJvdXQgY2xvc2luZyB0aGUgZ2Fwcy4ifSwKICBvYmxpdmlvdXM6e2xhYmVsOiJOZWVkcyBBd2FrZW5pbmciLGNvbG9yOiIjOTRBM0I4IixiZzoiI0Y1RjVGNyIsaWNvbjoi8J+SpCIsdGFnOiJQcmUtQXdhcmVuZXNzIixkZXNjOiJZb3VyIGJ1c2luZXNzIGhhcyBzaWduaWZpY2FudCBzdHJ1Y3R1cmFsIGV4cG9zdXJlIHlvdSBtYXkgbm90IGhhdmUgYmVlbiBhd2FyZSBvZi4gVGhpcyBpc24ndCBqdWRnbWVudCDigJQgaXQncyBjbGFyaXR5LiBNb3N0IGZvdW5kZXJzIG5ldmVyIGdldCB0aGlzIGhvbmVzdCBhIG1pcnJvci4gTm93IHlvdSBoYXZlIG9uZS4iLHJlY286IlN0YXJ0IHdpdGggb3VyIGZyZWUgUmVwR3JhZGVyIHZpc2liaWxpdHkgYXVkaXQgYW5kIEVhc3QgQWZyaWNhIERpcmVjdG9yeSBsaXN0aW5nLiBSZWFkIG91ciBWb3J0ZXggQWx0aXR1ZGUgYXJ0aWNsZXMgb24gc3RydWN0dXJhbCByZWFkaW5lc3MuIFdoZW4geW91J3JlIHJlYWR5LCB3ZSdsbCBiZSBoZXJlLiJ9Cn07Cgpjb25zdCBTRUNUSU9OUz1bCiAge2lkOiJzdHJ1Y3R1cmUiLHRpdGxlOiJTdHJ1Y3R1cmUgJiBPd25lcnNoaXAiLGljb246IvCfp7EiLGFjY2VudDoiI0Q0QUYzNyIsc3ViOiJMZWdhbCBmb3VuZGF0aW9ucyB0aGF0IHByb3RlY3Qgd2hhdCB5b3UndmUgYnVpbHQiLHFzOlt7aWQ6InExIix0ZXh0OiJJcyB5b3VyIGJ1c2luZXNzIGZvcm1hbGx5IHJlZ2lzdGVyZWQgYW5kIGN1cnJlbnQgd2l0aCBhbGwgcmVndWxhdG9yeSBib2RpZXM/Iix3OlszLDEsMF19LHtpZDoicTIiLHRleHQ6IkRvIHlvdSBoYXZlIHdyaXR0ZW4gc2hhcmVob2xkZXIsIHBhcnRuZXJzaGlwLCBvciBvcGVyYXRpbmcgYWdyZWVtZW50cyBpbiBwbGFjZT8iLHc6WzMsMSwwXX0se2lkOiJxMyIsdGV4dDoiSXMgYnVzaW5lc3Mgb3duZXJzaGlwIGxlZ2FsbHkgc2VwYXJhdGVkIGZyb20geW91ciBwZXJzb25hbCBhc3NldHM/Iix3OlszLDEsMF19XX0sCiAge2lkOiJjb21wbGlhbmNlIix0aXRsZToiQ29tcGxpYW5jZSAmIFJlZ3VsYXRpb24iLGljb246IvCfk5wiLGFjY2VudDoiIzFFM0E4QSIsc3ViOiJIb3cgcHJvdGVjdGVkIGFyZSB5b3UgZnJvbSByZWd1bGF0b3J5IHJpc2s/Iixxczpbe2lkOiJxNCIsdGV4dDoiRG8geW91IGZ1bGx5IHVuZGVyc3RhbmQgeW91ciBjdXJyZW50IHRheCBvYmxpZ2F0aW9ucyBhY3Jvc3MgYWxsIGp1cmlzZGljdGlvbnM/Iix3OlszLDEsMF19LHtpZDoicTUiLHRleHQ6IkFyZSBhbGwgbGljZW5zZXMsIHBlcm1pdHMsIGFuZCBjZXJ0aWZpY2F0aW9ucyBhY3RpdmUgYW5kIGNvcnJlY3RseSBmaWxlZD8iLHc6WzMsMSwwXX0se2lkOiJxNiIsdGV4dDoiSGF2ZSB5b3UgZXZlciBmYWNlZCBjb21wbGlhbmNlIHBlbmFsdGllcywgZmluZXMsIG9yIHJlZ3VsYXRvcnkgYWN0aW9uPyIsdzpbMCwxLDNdfV19LAogIHtpZDoiZ292ZXJuYW5jZSIsdGl0bGU6IkdvdmVybmFuY2UgJiBDb250aW51aXR5IixpY29uOiLwn6egIixhY2NlbnQ6IiNGNTlFMEIiLHN1YjoiQ2FuIHlvdXIgYnVzaW5lc3Mgb3V0bGl2ZSB5b3VyIGRhaWx5IGludm9sdmVtZW50PyIscXM6W3tpZDoicTciLHRleHQ6IkNhbiB5b3VyIGJ1c2luZXNzIG9wZXJhdGUgZm9yIDMwIGRheXMgd2l0aG91dCB5b3VyIGRpcmVjdCBkYWlseSBpbnZvbHZlbWVudD8iLHc6WzMsMSwwXX0se2lkOiJxOCIsdGV4dDoiQXJlIHJvbGVzLCBkZWNpc2lvbiByaWdodHMsIGFuZCBhdXRob3JpdHkgY2xlYXJseSBkb2N1bWVudGVkIGFuZCB1bmRlcnN0b29kPyIsdzpbMywxLDBdfSx7aWQ6InE5Iix0ZXh0OiJEbyB5b3UgaGF2ZSBhIGRpc3B1dGUgcmVzb2x1dGlvbiBtZWNoYW5pc20gb3Igc3VjY2Vzc2lvbiBwbGFuIGluIHBsYWNlPyIsdzpbMywxLDBdfV19LAogIHtpZDoiaXAiLHRpdGxlOiJJUCAmIEJyYW5kIFByb3RlY3Rpb24iLGljb246IvCfp6kiLGFjY2VudDoiIzNCODJGNiIsc3ViOiJXaG8gcmVhbGx5IG93bnMgeW91ciBicmFuZCwgY29udGVudCwgYW5kIGlkZW50aXR5PyIscXM6W3tpZDoicTEwIix0ZXh0OiJEbyB5b3UgbGVnYWxseSBvd24geW91ciBicmFuZCBuYW1lLCBsb2dvLCBhbmQgYWxsIGludGVsbGVjdHVhbCBwcm9wZXJ0eT8iLHc6WzMsMSwwXX0se2lkOiJxMTEiLHRleHQ6IklzIHlvdXIgSVAgcmVnaXN0ZXJlZCBvciBjb250cmFjdHVhbGx5IHByb3RlY3RlZCBpbiBldmVyeSBtYXJrZXQgeW91IHNlcnZlPyIsdzpbMywxLDBdfSx7aWQ6InExMiIsdGV4dDoiQ291bGQgc29tZW9uZSBsZWdhbGx5IHJlcGxpY2F0ZSB5b3VyIGJ1c2luZXNzIGlkZW50aXR5IG9yIGNvbnRlbnQgdG9kYXk/Iix3OlswLDEsM119XX0sCiAge2lkOiJkaWdpdGFsIix0aXRsZToiRGlnaXRhbCBTb3ZlcmVpZ250eSIsaWNvbjoi8J+MjSIsYWNjZW50OiIjNjM2NkYxIixzdWI6IkRvIHlvdSBvd24geW91ciBkaWdpdGFsIHByZXNlbmNlIOKAlCBvciByZW50IGl0PyIscXM6W3tpZDoicTEzIix0ZXh0OiJEbyB5b3Ugb3duIHlvdXIgd2Vic2l0ZSBkb21haW4sIGhvc3RpbmcsIGFuZCBlbWFpbCBpbmZyYXN0cnVjdHVyZT8iLHc6WzMsMSwwXX0se2lkOiJxMTQiLHRleHQ6IklmIEluc3RhZ3JhbSwgRmFjZWJvb2ssIGFuZCBMaW5rZWRJbiBzaHV0IGRvd24gdG9tb3Jyb3csIGNvdWxkIHlvdXIgYnVzaW5lc3Mgc3RpbGwgcmVhY2ggaXRzIGN1c3RvbWVycz8iLHc6WzMsMSwwXX0se2lkOiJxMTUiLHRleHQ6IkRvIHlvdSBvd24gYW4gZW1haWwgbGlzdCBvZiBhdCBsZWFzdCA1MDAgcGVvcGxlIHdobyBvcHRlZCBpbiB0byBoZWFyIGZyb20geW91PyIsdzpbMywxLDBdfV19LAogIHtpZDoiYWkiLHRpdGxlOiJBSSAmIEZ1dHVyZSBSZWFkaW5lc3MiLGljb246IvCfpJYiLGFjY2VudDoiI0Q0QUYzNyIsc3ViOiJBcmUgeW91IGJ1aWxkaW5nIHdpdGggdG9tb3Jyb3cncyB0b29scyDigJQgb3IgeWVzdGVyZGF5J3M/Iixxczpbe2lkOiJxMTYiLHRleHQ6IkFyZSB5b3UgYWN0aXZlbHkgdXNpbmcgQUkgdG9vbHMgdG8gY3JlYXRlIGNvbnRlbnQsIGF1dG9tYXRlIHdvcmtmbG93cywgb3Igc2VydmUgY3VzdG9tZXJzPyIsdzpbMywxLDBdfSx7aWQ6InExNyIsdGV4dDoiRG8geW91IGhhdmUgYSBwdWJsaXNoZWQgY29udGVudCBzdHJhdGVneSB0aGF0IHBvc2l0aW9ucyB5b3UgYXMgYW4gYXV0aG9yaXR5IGluIHlvdXIgaW5kdXN0cnk/Iix3OlszLDEsMF19LHtpZDoicTE4Iix0ZXh0OiJXaGVuIHNvbWVvbmUgR29vZ2xlcyB5b3VyIG5hbWUgb3IgYnVzaW5lc3MsIGRvZXMgdGhlIGZpcnN0IHBhZ2UgcmVmbGVjdCB0aGUgYXV0aG9yaXR5IHlvdSd2ZSBidWlsdD8iLHc6WzMsMSwwXX1dfSwKICB7aWQ6ImFsdGl0dWRlIix0aXRsZToiQWx0aXR1ZGUgVGhpbmtpbmciLGljb246IvCfj5TvuI8iLGFjY2VudDoiIzFFM0E4QSIsc3ViOiJBcmUgeW91IHJlYWN0aW5nIHRvIGV2ZW50cyDigJQgb3IgcmVhZGluZyBzeXN0ZW1zPyIscXM6W3tpZDoicTE5Iix0ZXh0OiJDYW4geW91IGFydGljdWxhdGUgdGhlIDMgYmlnZ2VzdCBzeXN0ZW1pYyByaXNrcyB0byB5b3VyIGluZHVzdHJ5IGluIHRoZSBuZXh0IDI0IG1vbnRocz8iLHc6WzMsMSwwXX0se2lkOiJxMjAiLHRleHQ6IkRvIHlvdSByZWd1bGFybHkgaW52ZXN0IHRpbWUgaW4gc3RyYXRlZ2ljIGFuYWx5c2lzIOKAlCBub3QganVzdCBvcGVyYXRpb25hbCBleGVjdXRpb24/Iix3OlszLDEsMF19LHtpZDoicTIxIix0ZXh0OiJBcmUgeW91IGJ1aWxkaW5nIGFzc2V0cyB0aGF0IGFwcHJlY2lhdGUgaW4gdmFsdWUsIG9yIHRyYWRpbmcgdGltZSBmb3IgaW5jb21lPyIsdzpbMywxLDBdfV19Cl07Cgpjb25zdCBNQVhfU0NPUkU9NjMsQUxFUlRfRU1BSUw9Im11a2FzYXZlbnR1cmVwYXJ0bmVyc0BnbWFpbC5jb20iOwpjb25zdCBjb3VudHJpZXM9WyLwn4e68J+HrCBVZ2FuZGEiLCLwn4ew8J+HqiBLZW55YSIsIvCfh7nwn4e/IFRhbnphbmlhIiwi8J+Ht/Cfh7wgUndhbmRhIiwi8J+HqvCfh7kgRXRoaW9waWEiLCLwn4eo8J+HqSBEUkMiLCLwn4e48J+HuCBTb3V0aCBTdWRhbiIsIvCfjI0gT3RoZXIiXTsKY29uc3Qgc3RlcE5hbWVzPVsiVmVyaWZpZWQiLCJEZXRhaWxzIiwiQXNzZXNzbWVudCIsIlJlc3VsdHMiLCJOZXh0IFN0ZXBzIl07CgpsZXQgdmFsaWRDb2RlPW51bGwsY29udGFjdD17bmFtZToiIixlbWFpbDoiIixjb21wYW55OiIiLHJvbGU6IiIscGhvbmU6IiIsY291bnRyeToiIn0sYW5zd2Vycz17fSxjdXJTZWM9MCxlbWFpbFNlbnQ9ZmFsc2U7CgpmdW5jdGlvbiBnZXRTZWdtZW50KHMpe2NvbnN0IHA9KHMvTUFYX1NDT1JFKSoxMDA7cmV0dXJuIHA+PTgwPyJhdWRhY2lvdXMiOnA+PTYwPyJzZXJpb3VzIjpwPj00MD8iY3VyaW91cyI6cD49MjA/ImNhdXRpb3VzIjoib2JsaXZpb3VzIn0KZnVuY3Rpb24gZ2V0U2NvcmUoKXtsZXQgcz0wO1NFQ1RJT05TLmZvckVhY2goc2VjPT5zZWMucXMuZm9yRWFjaChxPT57Y29uc3QgYT1hbnN3ZXJzW3EuaWRdO2lmKGEhPT11bmRlZmluZWQpcys9cS53W2FdfSkpO3JldHVybiBzfQpmdW5jdGlvbiBnZXRTZWNTY29yZXMoKXtyZXR1cm4gU0VDVElPTlMubWFwKHM9PntsZXQgc2M9MCxteD0wO3MucXMuZm9yRWFjaChxPT57bXgrPTM7Y29uc3QgYT1hbnN3ZXJzW3EuaWRdO2lmKGEhPT11bmRlZmluZWQpc2MrPXEud1thXX0pO3JldHVybnsuLi5zLHNjLG14LHBjdDpNYXRoLnJvdW5kKChzYy9teCkqMTAwKX19KX0KZnVuY3Rpb24gYW5zd2VyZWRDb3VudCgpe3JldHVybiBPYmplY3Qua2V5cyhhbnN3ZXJzKS5sZW5ndGh9CgpmdW5jdGlvbiBnb1RvU3RhZ2UobmFtZSl7CiAgWydnYXRlJywnY29udGFjdCcsJ2Fzc2VzcycsJ3Jlc3VsdHMnLCduZXh0c3RlcHMnXS5mb3JFYWNoKHM9PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGFnZS0nK3MpLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhZ2UtJytuYW1lKS5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTsKICB3aW5kb3cuc2Nyb2xsVG8oMCwwKTsKICBjb25zdCBoYXNoTWFwPXtnYXRlOid3ZWxjb21lJyxjb250YWN0OidkZXRhaWxzJyxhc3Nlc3M6J2Fzc2VzcycscmVzdWx0czoncmVzdWx0cycsbmV4dHN0ZXBzOiduZXh0J307CiAgaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCxudWxsLCcjJytoYXNoTWFwW25hbWVdKTsKICBpZihuYW1lPT09J25leHRzdGVwcycpe3JlbmRlclByb2dyZXNzKCdwcm9ncmVzcy1uZXh0Jyw0KTtyZW5kZXJOZXh0U3RlcHMoKX0KICBpZihuYW1lPT09J3Jlc3VsdHMnKXtyZW5kZXJQcm9ncmVzcygncHJvZ3Jlc3MtcmVzdWx0cycsMyl9Cn0KCmZ1bmN0aW9uIGluaXRUaW1lcigpewogIGNvbnN0IGRlYWRsaW5lPURhdGUubm93KCkrMyo4NjRlNSsxNCozNmU1O2NvbnN0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lcicpOwogIGZ1bmN0aW9uIHRpY2soKXtjb25zdCBkaWZmPU1hdGgubWF4KDAsZGVhZGxpbmUtRGF0ZS5ub3coKSk7Y29uc3QgZD1NYXRoLmZsb29yKGRpZmYvODY0ZTUpLGg9TWF0aC5mbG9vcigoZGlmZiU4NjRlNSkvMzZlNSksbT1NYXRoLmZsb29yKChkaWZmJTM2ZTUpLzZlNCkscz1NYXRoLmZsb29yKChkaWZmJTZlNCkvMWUzKTsKICBlbC5pbm5lckhUTUw9W1snZCcsJ0RBWVMnXSxbJ2gnLCdIUlMnXSxbJ20nLCdNSU4nXSxbJ3MnLCdTRUMnXV0ubWFwKChbayxsXSxpKT0+YDxkaXYgY2xhc3M9InRpbWVyLXVuaXQiPjxkaXYgY2xhc3M9InRpbWVyLW51bSI+JHtTdHJpbmcoW2QsaCxtLHNdW2ldKS5wYWRTdGFydCgyLCcwJyl9PC9kaXY+PGRpdiBjbGFzcz0idGltZXItbGJsIj4ke2x9PC9kaXY+PC9kaXY+YCkuam9pbignJyl9CiAgdGljaygpO3NldEludGVydmFsKHRpY2ssMTAwMCkKfQoKZnVuY3Rpb24gcmVuZGVyUHJvZ3Jlc3MoY29udGFpbmVySWQsY3VycmVudCl7CiAgY29uc3QgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQpOwogIGVsLmlubmVySFRNTD1gPGRpdiBjbGFzcz0icHJvZ3Jlc3MtbGluZSI+PC9kaXY+PGRpdiBjbGFzcz0icHJvZ3Jlc3MtZmlsbCIgc3R5bGU9IndpZHRoOiR7KGN1cnJlbnQvKHN0ZXBOYW1lcy5sZW5ndGgtMSkpKjEwMH0lIj48L2Rpdj5gK3N0ZXBOYW1lcy5tYXAoKHMsaSk9PmA8ZGl2IGNsYXNzPSJzdGVwIj48ZGl2IGNsYXNzPSJzdGVwLWRvdCAke2k8Y3VycmVudD8nZG9uZSc6aT09PWN1cnJlbnQ/J2N1cnJlbnQnOidwZW5kaW5nJ30iPiR7aTxjdXJyZW50PyfinJMnOmkrMX08L2Rpdj48ZGl2IGNsYXNzPSJzdGVwLWxhYmVsIiBzdHlsZT0iY29sb3I6JHtpPD1jdXJyZW50PycjMGYxNzJhJzonIzk5OSd9O2ZvbnQtd2VpZ2h0OiR7aT09PWN1cnJlbnQ/NzAwOjQwMH0iPiR7c308L2Rpdj48L2Rpdj5gKS5qb2luKCcnKQp9CgpmdW5jdGlvbiBpbml0QmVuZWZpdHMoKXsKICBjb25zdCBjb2xvcnM9WyIjRDRBRjM3IiwiIzFFM0E4QSIsIiNGNTlFMEIiLCIjM0I4MkY2IiwiIzYzNjZGMSIsIiNENEFGMzciXTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYmVuZWZpdC1pdGVtJykuZm9yRWFjaCgoZWwsaSk9PntlbC5zdHlsZS5jc3NUZXh0PWBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6MTBweDtiYWNrZ3JvdW5kOnJnYmEoMzAsNTgsMTM4LC4wNCk7cGFkZGluZzoxNHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXItYm90dG9tOjNweCBzb2xpZCAke2NvbG9yc1tpXX07Zm9udC1zaXplOi44OHJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS41YH0pCn0KCmZ1bmN0aW9uIHN1Ym1pdENvZGUoKXsKICBjb25zdCBjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2RlLWlucHV0JykudmFsdWUudHJpbSgpLnRvVXBwZXJDYXNlKCk7CiAgaWYoQ09ERVNbY10pe3ZhbGlkQ29kZT1jO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2RlLWVycm9yJykuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FjY2VwdGVkLWNvZGUnKS50ZXh0Q29udGVudD1jO2dvVG9TdGFnZSgnY29udGFjdCcpO3JlbmRlclByb2dyZXNzKCdwcm9ncmVzcy1jb250YWN0JywxKTtpbml0Q29udGFjdEZvcm0oKX0KICBlbHNle2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2RlLWVycm9yJykuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyl9Cn0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvZGUtaW5wdXQnKS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJyxlPT57aWYoZS5rZXk9PT0nRW50ZXInKXN1Ym1pdENvZGUoKX0pOwoKZnVuY3Rpb24gaW5pdENvbnRhY3RGb3JtKCl7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpbS1wcmV2aWV3JykuaW5uZXJIVE1MPVNFQ1RJT05TLm1hcChzPT5gPGRpdiBzdHlsZT0icGFkZGluZzoxMnB4IDE0cHg7Ym9yZGVyOjJweCBzb2xpZCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXItYm90dG9tOjRweCBzb2xpZCAke3MuYWNjZW50fTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2JhY2tncm91bmQ6I2ZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxLjRyZW0iPiR7cy5pY29ufTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NjAwIj4ke3MudGl0bGV9PC9zcGFuPjwvZGl2PmApLmpvaW4oJycpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb3VudHJ5LWdyaWQnKS5pbm5lckhUTUw9Y291bnRyaWVzLm1hcChjPT5gPGRpdiBjbGFzcz0iY291bnRyeS1jYXJkIiBvbmNsaWNrPSJzZWxlY3RDb3VudHJ5KHRoaXMsJyR7Y30nKSI+PGRpdiBjbGFzcz0iZmxhZyI+JHtjLnNwbGl0KCcgJylbMF19PC9kaXY+PGRpdj4ke2Muc3BsaXQoJyAnKS5zbGljZSgxKS5qb2luKCcgJyl9PC9kaXY+PC9kaXY+YCkuam9pbignJyk7CiAgWydmLW5hbWUnLCdmLWVtYWlsJywnZi1jb21wYW55JywnZi1yb2xlJywnZi1waG9uZSddLmZvckVhY2goaWQ9PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsdmFsaWRhdGVDb250YWN0KSkKfQpmdW5jdGlvbiBzZWxlY3RDb3VudHJ5KGVsLGMpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jb3VudHJ5LWNhcmQnKS5mb3JFYWNoKGU9PmUuY2xhc3NMaXN0LnJlbW92ZSgnc2VsZWN0ZWQnKSk7ZWwuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTtjb250YWN0LmNvdW50cnk9Yzt2YWxpZGF0ZUNvbnRhY3QoKX0KZnVuY3Rpb24gdmFsaWRhdGVDb250YWN0KCl7CiAgY29udGFjdC5uYW1lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmLW5hbWUnKS52YWx1ZS50cmltKCk7Y29udGFjdC5lbWFpbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZi1lbWFpbCcpLnZhbHVlLnRyaW0oKTtjb250YWN0LmNvbXBhbnk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2YtY29tcGFueScpLnZhbHVlLnRyaW0oKTtjb250YWN0LnJvbGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Ytcm9sZScpLnZhbHVlLnRyaW0oKTtjb250YWN0LnBob25lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmLXBob25lJykudmFsdWUudHJpbSgpOwogIGNvbnN0IHZhbGlkPWNvbnRhY3QubmFtZSYmY29udGFjdC5lbWFpbCYmY29udGFjdC5jb21wYW55JiZjb250YWN0LmNvdW50cnk7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0bi1iZWdpbicpLmRpc2FibGVkPSF2YWxpZDtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnRuLWJlZ2luJykuc3R5bGUub3BhY2l0eT12YWxpZD8xOi40Cn0KCmZ1bmN0aW9uIHN0YXJ0QXNzZXNzbWVudCgpe2N1clNlYz0wO2dvVG9TdGFnZSgnYXNzZXNzJyk7cmVuZGVyUHJvZ3Jlc3MoJ3Byb2dyZXNzLWFzc2VzcycsMik7cmVuZGVyU2VjdGlvbigpfQoKZnVuY3Rpb24gcmVuZGVyU2VjdGlvbigpewogIGNvbnN0IHNlYz1TRUNUSU9OU1tjdXJTZWNdO2NvbnN0IGJvcmRlclNpZGU9Y3VyU2VjJTI9PT0wPydib3JkZXItbGVmdCc6J2JvcmRlci1yaWdodCc7CiAgY29uc3QgY29sb3JzPVsiI0Q0QUYzNyIsIiMxRTNBOEEiLCIjRjU5RTBCIiwiIzNCODJGNiIsIiM2MzY2RjEiLCIjRDRBRjM3IiwiIzFFM0E4QSJdOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWMtZG90cycpLmlubmVySFRNTD1TRUNUSU9OUy5tYXAoKHMsaSk9PmA8ZGl2IGNsYXNzPSJzZWMtZG90IiBzdHlsZT0id2lkdGg6JHtpPT09Y3VyU2VjPzI4OjEwfXB4O2JhY2tncm91bmQ6JHtpPGN1clNlYz8nI0Q0QUYzNyc6aT09PWN1clNlYz9zLmFjY2VudDonI2RkZCd9O2N1cnNvcjoke2k8Y3VyU2VjPydwb2ludGVyJzonZGVmYXVsdCd9IiAke2k8Y3VyU2VjP2BvbmNsaWNrPSJqdW1wU2VjKCR7aX0pImA6Jyd9PjwvZGl2PmApLmpvaW4oJycpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWMtbnVtJykudGV4dENvbnRlbnQ9Y3VyU2VjKzE7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3EtYW5zd2VyZWQnKS50ZXh0Q29udGVudD1hbnN3ZXJlZENvdW50KCk7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3EtcHJvZ3Jlc3MnKS5zdHlsZS53aWR0aD0oYW5zd2VyZWRDb3VudCgpLzIxKjEwMCkrJyUnOwogIGNvbnN0IGNhcmQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlY3Rpb24tY2FyZCcpO2NhcmQuc3R5bGUuY3NzVGV4dD1gJHtib3JkZXJTaWRlfTo2cHggc29saWQgJHtjb2xvcnNbY3VyU2VjJWNvbG9ycy5sZW5ndGhdfWA7CiAgbGV0IGh0bWw9YDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE0cHg7bWFyZ2luLWJvdHRvbToyMnB4O3BhZGRpbmctYm90dG9tOjE0cHg7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgJHtzZWMuYWNjZW50fSI+PGRpdiBzdHlsZT0id2lkdGg6NTBweDtoZWlnaHQ6NTBweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsJHtzZWMuYWNjZW50fSwke3NlYy5hY2NlbnR9Y2MpO2JvcmRlci1yYWRpdXM6MTJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjEuNXJlbSI+JHtzZWMuaWNvbn08L2Rpdj48ZGl2PjxoMiBzdHlsZT0iZm9udC1zaXplOjEuNHJlbTttYXJnaW46MCI+JHtzZWMudGl0bGV9PC9oMj48cCBzdHlsZT0iZm9udC1zaXplOjEzcHg7Y29sb3I6Izg4ODttYXJnaW46MCI+JHtzZWMuc3VifTwvcD48L2Rpdj48L2Rpdj5gOwogIHNlYy5xcy5mb3JFYWNoKChxLHFpKT0+e2NvbnN0IGE9YW5zd2Vyc1txLmlkXTsKICAgIGh0bWwrPWA8ZGl2IGNsYXNzPSJxLWNhcmQgJHthIT09dW5kZWZpbmVkPydhbnN3ZXJlZCc6Jyd9Ij48ZGl2IGNsYXNzPSJxLXRleHQiPjxzcGFuIGNsYXNzPSJxLW51bSI+JHtxaSsxfS48L3NwYW4+JHtxLnRleHR9PC9kaXY+PGRpdiBjbGFzcz0icS1vcHRzIj4ke1t7djowLGxhYmVsOiJZZXMiLGNscjoiIzFFM0E4QSJ9LHt2OjEsbGFiZWw6IlBhcnRpYWxseSIsY2xyOiIjRDRBRjM3In0se3Y6MixsYWJlbDoiTm8iLGNscjoiIzg4OCJ9XS5tYXAob3B0PT5gPGRpdiBjbGFzcz0icS1vcHQgJHthPT09b3B0LnY/J3NlbCc6Jyd9IiBzdHlsZT0iJHthPT09b3B0LnY/YGJvcmRlci1jb2xvcjoke29wdC5jbHJ9O2JhY2tncm91bmQ6JHtvcHQuY2xyfTEwO2NvbG9yOiR7b3B0LmNscn1gOicnfSIgb25jbGljaz0iYW5zd2VyKCcke3EuaWR9Jywke29wdC52fSkiPiR7b3B0LmxhYmVsfTwvZGl2PmApLmpvaW4oJycpfTwvZGl2PjwvZGl2PmB9KTsKICBjb25zdCBzZWNEb25lPXNlYy5xcy5ldmVyeShxPT5hbnN3ZXJzW3EuaWRdIT09dW5kZWZpbmVkKTtjb25zdCBpc0xhc3Q9Y3VyU2VjPT09U0VDVElPTlMubGVuZ3RoLTE7CiAgaHRtbCs9YDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjttYXJnaW4tdG9wOjIycHgiPjxidXR0b24gY2xhc3M9ImJ0bi1vdXRsaW5lIiAke2N1clNlYz09PTA/J2Rpc2FibGVkJzonJ30gc3R5bGU9IiR7Y3VyU2VjPT09MD8nb3BhY2l0eTouMyc6Jyd9IiBvbmNsaWNrPSJwcmV2U2VjKCkiPuKGkCBQcmV2aW91czwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJ0bi1ibHVlIiAke3NlY0RvbmU/Jyc6J2Rpc2FibGVkJ30gc3R5bGU9InBhZGRpbmc6MTZweCA0NHB4OyR7c2VjRG9uZT8nJzonb3BhY2l0eTouNCd9IiBvbmNsaWNrPSIke2lzTGFzdD8nc2hvd1Jlc3VsdHMoKSc6J25leHRTZWMoKSd9Ij4gICR7aXNMYXN0PydTZWUgTXkgUmVzdWx0cyDihpInOidOZXh0IFNlY3Rpb24g4oaSJ308L2J1dHRvbj48L2Rpdj5gOwogIGNhcmQuaW5uZXJIVE1MPWh0bWwKfQpmdW5jdGlvbiBhbnN3ZXIocWlkLHZhbCl7YW5zd2Vyc1txaWRdPXZhbDtyZW5kZXJTZWN0aW9uKCl9CmZ1bmN0aW9uIG5leHRTZWMoKXtpZihjdXJTZWM8U0VDVElPTlMubGVuZ3RoLTEpe2N1clNlYysrO3JlbmRlclNlY3Rpb24oKTt3aW5kb3cuc2Nyb2xsVG8oMCwyMDApfX0KZnVuY3Rpb24gcHJldlNlYygpe2lmKGN1clNlYz4wKXtjdXJTZWMtLTtyZW5kZXJTZWN0aW9uKCk7d2luZG93LnNjcm9sbFRvKDAsMjAwKX19CmZ1bmN0aW9uIGp1bXBTZWMoaSl7Y3VyU2VjPWk7cmVuZGVyU2VjdGlvbigpO3dpbmRvdy5zY3JvbGxUbygwLDIwMCl9CgpmdW5jdGlvbiBzaG93UmVzdWx0cygpewogIGdvVG9TdGFnZSgncmVzdWx0cycpO3JlbmRlclByb2dyZXNzKCdwcm9ncmVzcy1yZXN1bHRzJywzKTsKICBjb25zdCBzY29yZT1nZXRTY29yZSgpLHBjdD1NYXRoLnJvdW5kKChzY29yZS9NQVhfU0NPUkUpKjEwMCksc2VnPWdldFNlZ21lbnQoc2NvcmUpLGluZm89U0VHTUVOVFNbc2VnXSxzZWNTY29yZXM9Z2V0U2VjU2NvcmVzKCk7CiAgaWYoIWVtYWlsU2VudCl7c2VuZENvbXBsZXRpb25BbGVydChzY29yZSxzZWcsc2VjU2NvcmVzKTtlbWFpbFNlbnQ9dHJ1ZTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZW1haWwtbm90aWYnKS5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKX0KICBsZXQgaHRtbD0nJzsKICBodG1sKz1gPGRpdiBjbGFzcz0iY2FyZCIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyO2JvcmRlci1sZWZ0OjZweCBzb2xpZCAke2luZm8uY29sb3J9O2JvcmRlci1yaWdodDo2cHggc29saWQgJHtpbmZvLmNvbG9yfSI+PGRpdiBzdHlsZT0iZm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6NHB4O2NvbG9yOiM4ODg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW4tYm90dG9tOjEwcHgiPkFzc2Vzc21lbnQgQ29tcGxldGU8L2Rpdj48aDIgc3R5bGU9ImZvbnQtc2l6ZToycmVtO21hcmdpbjowIDAgNHB4Ij5Zb3VyIEFsdGl0dWRlIFJlYWRpbmc8L2gyPjxkaXYgc3R5bGU9IndpZHRoOjYwcHg7aGVpZ2h0OjNweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywke2luZm8uY29sb3J9LHRyYW5zcGFyZW50KTttYXJnaW46MTBweCBhdXRvIDIwcHgiPjwvZGl2PjxkaXYgY2xhc3M9InNjb3JlLXJpbmciIHN0eWxlPSJiYWNrZ3JvdW5kOmNvbmljLWdyYWRpZW50KCR7aW5mby5jb2xvcn0gJHtwY3R9JSwgI2VlZSAke3BjdH0lKSI+PGRpdiBjbGFzcz0ic2NvcmUtaW5uZXIiPjxkaXYgY2xhc3M9InNjb3JlLW51bSIgc3R5bGU9ImNvbG9yOiR7aW5mby5jb2xvcn0iPiR7c2NvcmV9PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6I2FhYSI+b2YgJHtNQVhfU0NPUkV9PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0iZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7YmFja2dyb3VuZDoke2luZm8uYmd9O2JvcmRlcjoycHggc29saWQgJHtpbmZvLmNvbG9yfTMwO2JvcmRlci1yYWRpdXM6NTBweDtwYWRkaW5nOjEwcHggMjRweDttYXJnaW4tYm90dG9tOjZweCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToyNHB4Ij4ke2luZm8uaWNvbn08L3NwYW4+PGRpdiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0Ij48ZGl2IHN0eWxlPSJmb250LXNpemU6MThweDtmb250LXdlaWdodDo4MDA7Y29sb3I6JHtpbmZvLmNvbG9yfTtsZXR0ZXItc3BhY2luZzouNXB4Ij4ke2luZm8ubGFiZWx9PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjExcHg7Y29sb3I6Izg4ODtmb250LXdlaWdodDo2MDAiPiR7aW5mby50YWd9PC9kaXY+PC9kaXY+PC9kaXY+PHAgc3R5bGU9ImNvbG9yOiM2NjY7bGluZS1oZWlnaHQ6MS43O21heC13aWR0aDo1NjBweDttYXJnaW46MTJweCBhdXRvIDA7Zm9udC1zaXplOjE0cHgiPiR7aW5mby5kZXNjfTwvcD48L2Rpdj5gOwogIGh0bWwrPWA8ZGl2IGNsYXNzPSJjYXJkIGJsLWdvbGQiPjxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj48ZGl2IGNsYXNzPSJjYXJkLWljb24iIHN0eWxlPSJiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI0Q0QUYzNywjYzlhMjI3KSI+8J+TijwvZGl2PjxoMyBzdHlsZT0iZm9udC1zaXplOjEuMnJlbTttYXJnaW46MCI+RGltZW5zaW9uIEJyZWFrZG93bjwvaDM+PC9kaXY+YDsKICBzZWNTY29yZXMuZm9yRWFjaChzPT57Y29uc3QgY2xyPXMucGN0Pj02Nj8iIzFFM0E4QSI6cy5wY3Q+PTMzPyIjRDRBRjM3IjoiI0VGNDQ0NCI7Y29uc3QgbGJsPXMucGN0Pj02Nj8iU3Ryb25nIjpzLnBjdD49MzM/IkV4cG9zZWQiOiJDcml0aWNhbCI7CiAgICBodG1sKz1gPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxNnB4Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1ib3R0b206NnB4Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6IzMzMztmb250LXdlaWdodDo1MDAiPiR7cy5pY29ufSAke3MudGl0bGV9PC9zcGFuPjxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjoke2Nscn07YmFja2dyb3VuZDoke2Nscn0xMDtwYWRkaW5nOjNweCAxMHB4O2JvcmRlci1yYWRpdXM6NTBweCI+JHtsYmx9PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7Y29sb3I6JHtjbHJ9O2ZvbnQtZmFtaWx5OidDb3VyaWVyIE5ldycsbW9ub3NwYWNlIj4ke3MucGN0fSU8L3NwYW4+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZGltLWJhciI+PGRpdiBjbGFzcz0iZGltLWZpbGwiIHN0eWxlPSJ3aWR0aDoke3MucGN0fSU7YmFja2dyb3VuZDoke2Nscn0iPjwvZGl2PjwvZGl2PjwvZGl2PmB9KTsKICBodG1sKz1gPC9kaXY+YDsKICBodG1sKz1gPGRpdiBjbGFzcz0iY2FyZCIgc3R5bGU9ImJvcmRlci1yaWdodDo2cHggc29saWQgJHtpbmZvLmNvbG9yfTtiYWNrZ3JvdW5kOiR7aW5mby5iZ30iPjxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7bWFyZ2luLWJvdHRvbToxMnB4Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEuNXJlbSI+JHtpbmZvLmljb259PC9zcGFuPjxoMyBzdHlsZT0iZm9udC1zaXplOjEuMTVyZW07Y29sb3I6JHtpbmZvLmNvbG9yfTttYXJnaW46MCI+WW91ciBTdHJhdGVnaWMgUmVjb21tZW5kYXRpb248L2gzPjwvZGl2PjxwIHN0eWxlPSJjb2xvcjojNDQ0O2xpbmUtaGVpZ2h0OjEuODtmb250LXNpemU6MTVweDttYXJnaW46MCI+JHtpbmZvLnJlY299PC9wPjwvZGl2PmA7CiAgaHRtbCs9YDxkaXYgY2xhc3M9ImNhcmQgYmwtYmx1ZSI+PGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDttYXJnaW4tYm90dG9tOjEycHgiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MS40cmVtIj7wn46kPC9zcGFuPjxoMyBzdHlsZT0iZm9udC1zaXplOjEuMXJlbTtjb2xvcjojMUUzQThBO21hcmdpbjowIj5Zb3VyIEZyZWUgRXhwZXJ0IEZlYXR1cmU8L2gzPjwvZGl2PjxwIHN0eWxlPSJjb2xvcjojNjY2O2xpbmUtaGVpZ2h0OjEuNztmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjE0cHgiPkFzIGEgZGlhZ25vc3RpYyBwYXJ0aWNpcGFudCwgeW91J3ZlIGVhcm5lZCBhIGNvbXBsaW1lbnRhcnkgZXhwZXJ0IGZlYXR1cmUgYXJ0aWNsZSBvbiBvdXIgMjctY2hhbm5lbCBBZnJpY2EgRnJvbnRsaW5lIE1lZGlhIG5ldHdvcmsuIE91ciBBSSBKb3VybmFsaXN0IGNvbmR1Y3RzIGEgMTAtbWludXRlIGludGVydmlldyBhbmQgdHJhbnNmb3JtcyB5b3VyIGV4cGVydGlzZSBpbnRvIGEgcHJvZmVzc2lvbmFsbHkgcHVibGlzaGVkIGFydGljbGUuPC9wPjxwIHN0eWxlPSJjb2xvcjojMUUzQThBO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW46MCI+JHtjb250YWN0Lm5hbWV9LCB3ZSdsbCBjb250YWN0IHlvdSBhdCAke2NvbnRhY3QuZW1haWx9IHdpdGhpbiA0OCBob3VycyB0byBzY2hlZHVsZSB5b3VyIGZlYXR1cmUuPC9wPjwvZGl2PmA7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHMtY29udGVudCcpLmlubmVySFRNTD1odG1sCn0KCmZ1bmN0aW9uIHJlbmRlck5leHRTdGVwcygpewogIGNvbnN0IHNjb3JlPWdldFNjb3JlKCkscGN0PU1hdGgucm91bmQoKHNjb3JlL01BWF9TQ09SRSkqMTAwKSxzZWc9Z2V0U2VnbWVudChzY29yZSksaW5mbz1TRUdNRU5UU1tzZWddOwogIGNvbnN0IHJlYWRpbmVzcz1zZWc9PT0iYXVkYWNpb3VzInx8c2VnPT09InNlcmlvdXMiPyJyZWFkeSBmb3IgYWNjZWxlcmF0aW9uIjpzZWc9PT0iY3VyaW91cyI/InJlYWR5IHRvIGV4cGxvcmUgZWxldmF0aW9uIjoicmVhZHkgZm9yIHRoZSByaWdodCBndWlkYW5jZSI7CiAgY29uc3QgYWN0aW9ucz1bCiAgICB7aWQ6ImJvb2siLGljb246IvCfk4UiLHRpdGxlOiJCb29rIGEgU3RyYXRlZ3kgU2Vzc2lvbiIsYWNjZW50OiIjMUUzQThBIixibHVyYjpgVGhhbmsgeW91IGZvciBjb21wbGV0aW5nIHRoZSBWb3J0ZXggQWx0aXR1ZGUgRGlhZ25vc3RpYywgJHtjb250YWN0Lm5hbWV9LiBZb3VyICR7aW5mby5sYWJlbH0gcmVzdWx0IHRlbGxzIHVzIHlvdSdyZSAke3JlYWRpbmVzc30uIEEgMTUtbWludXRlIHN0cmF0ZWd5IGNvbnZlcnNhdGlvbiB3aWxsIG1hcCB5b3VyIHNwZWNpZmljIHBhdGggZm9yd2FyZCDigJQgYmFzZWQgb24gdGhlIGV4YWN0IGRpbWVuc2lvbnMgd2hlcmUgeW91ciBkaWFnbm9zdGljIHJldmVhbGVkIG9wcG9ydHVuaXR5LmAsY3RhOiJCb29rIE15IFN0cmF0ZWd5IFNlc3Npb24g4oaSIix1cmw6Imh0dHBzOi8vbWFya2V0aW5nYnJpbGx0aWFudGx5LmNvbS9BUi9iZXN0YWZyaWNhbWVldGdyZWV0In0sCiAgICB7aWQ6Im5vbWluYXRlIixpY29uOiLwn4yfIix0aXRsZToiTm9taW5hdGUgYSBMZWFkZXIgZm9yIGEgRmVhdHVyZSIsYWNjZW50OiIjRjU5RTBCIixibHVyYjpgVGhhbmsgeW91IGZvciB0YWtpbmcgdGhpcyBkaWFnbm9zdGljIHNlcmlvdXNseSwgJHtjb250YWN0Lm5hbWV9LiBZb3UgY2xlYXJseSB2YWx1ZSBzdHJ1Y3R1cmFsIHJlYWRpbmVzcyDigJQgYW5kIHRoYXQgcGVyc3BlY3RpdmUgaXMgcmFyZS4gS25vdyBzb21lb25lIGVsc2Ugd2hvIHNob3VsZCBiZSBleGFtaW5lZCBhdCB0aGlzIGFsdGl0dWRlPyBOb21pbmF0ZSBhIGZvdW5kZXIsIGV4ZWN1dGl2ZSwgb3IgdGhvdWdodCBsZWFkZXIgaW4geW91ciBuZXR3b3JrLiBJZiB0aGV5IHF1YWxpZnksIHRoZXknbGwgcmVjZWl2ZSB0aGUgc2FtZSBleGNsdXNpdmUgZXhwZXJ0IGZlYXR1cmUgb3Bwb3J0dW5pdHkgeW91IGVhcm5lZCB0b2RheS5gLGN0YToiTm9taW5hdGUgU29tZW9uZSBJIFJlc3BlY3Qg4oaSIix1cmw6Imh0dHBzOi8vZWFzdC5hZnJpY2Fmcm9udGxpbmVuZXh1cy5uZXdzL3dlbGNvbWUifSwKICAgIHtpZDoiZGlyZWN0b3J5IixpY29uOiLwn5OCIix0aXRsZToiQ2xhaW0gWW91ciBGcmVlIERpcmVjdG9yeSBMaXN0aW5nIixhY2NlbnQ6IiNENEFGMzciLGJsdXJiOmBUaGFuayB5b3UgZm9yIGludmVzdGluZyBpbiBob25lc3Qgc2VsZi1hc3Nlc3NtZW50LiBOb3cgbGV0J3MgbWFrZSBzdXJlIHRoZSB3b3JsZCBjYW4gZmluZCB5b3UuIEpvaW4gMSwwMDArIGJ1c2luZXNzZXMgYnVpbGRpbmcgdGhlaXIgZGlnaXRhbCBmb290cHJpbnQgaW4gdGhlIEVhc3QgQWZyaWNhIFRvcCBEaXJlY3Rvcnkg4oCUIGEgY3VyYXRlZCBuZXR3b3JrIG9mIHNvdmVyZWlnbiBidXNpbmVzc2VzIGFjcm9zcyB0aGUgY29udGluZW50LiBDb21wbGV0ZWx5IGZyZWUgZm9yIGRpYWdub3N0aWMgcGFydGljaXBhbnRzLmAsY3RhOiJDbGFpbSBNeSBEaXJlY3RvcnkgTGlzdGluZyDihpIiLHVybDoiaHR0cHM6Ly9lYXN0YWZyaWNhdG9wZGlyZWN0b3J5LmNvbS9jb250YWN0LTIifSwKICAgIHtpZDoiYXVkaXQiLGljb246IvCflI4iLHRpdGxlOiJSdW4gWW91ciBGcmVlIFZpc2liaWxpdHkgQXVkaXQiLGFjY2VudDoiIzNCODJGNiIsYmx1cmI6YFRoYW5rIHlvdSBmb3IgbG9va2luZyBob25lc3RseSBhdCB3aGVyZSB5b3VyIGJ1c2luZXNzIHN0YW5kcy4gWW91ciBkaWFnbm9zdGljIHNjb3JlZCB5b3VyIGludGVybmFsIHJlYWRpbmVzcyDigJQgbm93IGxldCdzIHNlZSBob3cgdGhlIG91dHNpZGUgd29ybGQgc2VlcyB5b3UuIFJlcEdyYWRlciBzY2FucyB5b3VyIG9ubGluZSBwcmVzZW5jZSBhbmQgZGVsaXZlcnMgYSBiaXJkJ3MtZXllIHZpZXcgb2YgeW91ciB2aXNpYmlsaXR5LCByZXB1dGF0aW9uLCBhbmQgY29tcGV0aXRpdmUgcG9zaXRpb25pbmcuYCxjdGE6IlJ1biBNeSBWaXNpYmlsaXR5IEF1ZGl0IOKGkiIsdXJsOiJodHRwczovL3RvcC5yZXBncmFkZXIuY29tIn0sCiAgICB7aWQ6Im5ld3Nyb29tIixpY29uOiLwn5OwIix0aXRsZToiRXhwbG9yZSBPdXIgTWVkaWEgTmV3c3Jvb20iLGFjY2VudDoiIzYzNjZGMSIsYmx1cmI6YFRoYW5rIHlvdSBmb3IgYmVpbmcgcGFydCBvZiB0aGlzIG1vdmVtZW50LCAke2NvbnRhY3QubmFtZX0uIFRoZSBBZnJpY2EgRnJvbnRsaW5lIE1lZGlhIE5leHVzIGlzIHdoZXJlIHlvdXIgZmVhdHVyZSBhcnRpY2xlIHdpbGwgbGl2ZSDigJQgYWxvbmdzaWRlIDM0LDUwMCsgcHVibGlzaGVkIHN0b3JpZXMgY292ZXJpbmcgZmludGVjaCwgd29tZW4ncyBlbnRyZXByZW5ldXJzaGlwLCBBSSBpbm5vdmF0aW9uLCB0b3VyaXNtLCBjdWx0dXJhbCBoZXJpdGFnZSwgYW5kIGRpZ2l0YWwgc292ZXJlaWdudHkgYWNyb3NzIHRoZSBjb250aW5lbnQuYCxjdGE6IkV4cGxvcmUgdGhlIE5ld3Nyb29tIOKGkiIsdXJsOiJodHRwczovL2FmcmljYWZyb250bGluZW5leHVzLm5ld3MifSwKICAgIHtpZDoibmV3c2xldHRlciIsaWNvbjoi8J+TpyIsdGl0bGU6IkpvaW4gT3VyIEludGVsbGlnZW5jZSBOZXdzbGV0dGVyIixhY2NlbnQ6IiMxRTNBOEEiLGJsdXJiOmBUaGFuayB5b3UgZm9yIHRoaW5raW5nIGF0IGFsdGl0dWRlLiBNb3N0IGZvdW5kZXJzIG5ldmVyIHBhdXNlIHRvIGV4YW1pbmUgdGhlIHN0cnVjdHVyYWwgZm9yY2VzIHNoYXBpbmcgdGhlaXIgYnVzaW5lc3Mg4oCUIHlvdSBqdXN0IGRpZC4gT3VyIG5ld3NsZXR0ZXIgZGVsaXZlcnMgdGhlIHN0cmF0ZWdpYyBpbnNpZ2h0cywgcmVndWxhdG9yeSB1cGRhdGVzLCBhbmQgc3RydWN0dXJhbCBhbmFseXNpcyB0aGF0IHRoZSBWb3J0ZXggQWx0aXR1ZGUgZXhhbWluZXMg4oCUIGRpcmVjdGx5IHRvIHlvdXIgaW5ib3guIE5vIHNwYW0uIEp1c3QgY2xhcml0eSwgd2Vla2x5LmAsY3RhOm51bGwsaXNOZXdzbGV0dGVyOnRydWV9CiAgXTsKICBsZXQgaHRtbD0nJzsKICBodG1sKz1gPGRpdiBjbGFzcz0iY2FyZCIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyO2JvcmRlci1sZWZ0OjZweCBzb2xpZCAjRDRBRjM3O2JvcmRlci1yaWdodDo2cHggc29saWQgIzFFM0E4QTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiYSgyMTIsMTc1LDU1LC4wNCkscmdiYSgzMCw1OCwxMzgsLjA0KSkiPjxkaXYgc3R5bGU9ImZvbnQtc2l6ZToyLjVyZW07bWFyZ2luLWJvdHRvbToxMnB4Ij7wn46JPC9kaXY+PGgyIHN0eWxlPSJmb250LXNpemU6MS44cmVtO21hcmdpbi1ib3R0b206OHB4O2xpbmUtaGVpZ2h0OjEuMiI+VGhhbmsgWW91LCAke2NvbnRhY3QubmFtZX08L2gyPjxkaXYgc3R5bGU9IndpZHRoOjYwcHg7aGVpZ2h0OjNweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjRDRBRjM3LCMxRTNBOEEpO21hcmdpbjoxMHB4IGF1dG8gMTZweDtib3JkZXItcmFkaXVzOjJweCI+PC9kaXY+PHAgc3R5bGU9ImNvbG9yOiM2NjY7bGluZS1oZWlnaHQ6MS44O21heC13aWR0aDo1NjBweDttYXJnaW46MCBhdXRvIDEycHg7Zm9udC1zaXplOjE1cHgiPllvdXIgZGlhZ25vc3RpYyBpcyBjb21wbGV0ZS4gWW91ciBleHBlcnQgZmVhdHVyZSBpcyBiZWluZyBwcmVwYXJlZC48YnI+WW91ciByZXN1bHRzIGhhdmUgYmVlbiByZWNvcmRlZCBhbmQgb3VyIHRlYW0gaGFzIGJlZW4gbm90aWZpZWQuPC9wPjxkaXYgc3R5bGU9ImRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7YmFja2dyb3VuZDoke2luZm8uYmd9O2JvcmRlcjoycHggc29saWQgJHtpbmZvLmNvbG9yfTMwO2JvcmRlci1yYWRpdXM6NTBweDtwYWRkaW5nOjhweCAyMHB4O21hcmdpbjo4cHggMCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxOHB4Ij4ke2luZm8uaWNvbn08L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OjcwMDtjb2xvcjoke2luZm8uY29sb3J9Ij4ke2luZm8ubGFiZWx9PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjojODg4O2ZvbnQtc2l6ZToxM3B4Ij7igJQgJHtzY29yZX0vJHtNQVhfU0NPUkV9PC9zcGFuPjwvZGl2PjxwIHN0eWxlPSJmb250LXNpemU6MTdweDtmb250LXdlaWdodDo3MDA7bWFyZ2luLXRvcDoxOHB4O21hcmdpbi1ib3R0b206MCI+V2hhdCB3b3VsZCB5b3UgbGlrZSB0byBkbyBuZXh0PzwvcD48cCBzdHlsZT0iY29sb3I6Izg4ODtmb250LXNpemU6MTNweDttYXJnaW4tdG9wOjRweCI+U2VsZWN0IGFueSBvcHRpb24gYmVsb3cgdG8gY29udGludWUgeW91ciBqb3VybmV5PC9wPjwvZGl2PmA7CiAgY29uc3QgYm9yZGVyU3R5bGVzPVsnYmwtYmx1ZScsJ2JyLWdvbGQnLCdibC1vcmFuZ2UnLCdici1za3knLCdibC1pbmRpZ28nLCdici1ibHVlJ107CiAgYWN0aW9ucy5mb3JFYWNoKChhLGkpPT57CiAgICBodG1sKz1gPGRpdiBjbGFzcz0iYWN0aW9uLWNhcmQgJHtib3JkZXJTdHlsZXNbaV19IiBzdHlsZT0iYm9yZGVyLWJvdHRvbTo1cHggc29saWQgJHthLmFjY2VudH0iIGlkPSJhY3Rpb24tJHthLmlkfSIgb25jbGljaz0idG9nZ2xlQWN0aW9uKCcke2EuaWR9JykiPjxkaXYgY2xhc3M9ImFjdGlvbi1oZWFkZXIiPjxkaXYgY2xhc3M9ImFjdGlvbi1pY29uIiBzdHlsZT0iYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCR7YS5hY2NlbnR9LCR7YS5hY2NlbnR9Y2MpIj4ke2EuaWNvbn08L2Rpdj48ZGl2IHN0eWxlPSJmbGV4OjEiPjxoMyBzdHlsZT0iZm9udC1zaXplOjEuMXJlbTttYXJnaW46MCI+JHthLnRpdGxlfTwvaDM+PHAgaWQ9ImFjdGlvbi1oaW50LSR7YS5pZH0iIHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojOTk5O21hcmdpbjo0cHggMCAwIj5UYXAgdG8gbGVhcm4gbW9yZTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJhY3Rpb24tYXJyb3ciIGlkPSJhcnJvdy0ke2EuaWR9IiBzdHlsZT0iYmFja2dyb3VuZDojZjBmNGZmO2NvbG9yOiR7YS5hY2NlbnR9Ij7ilr48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJhY3Rpb24tYm9keSBoaWRkZW4iIGlkPSJib2R5LSR7YS5pZH0iIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIj48ZGl2IGNsYXNzPSJhY3Rpb24tYmx1cmIiIHN0eWxlPSJiYWNrZ3JvdW5kOiR7YS5hY2NlbnR9MDY7Ym9yZGVyOjFweCBzb2xpZCAke2EuYWNjZW50fTE1Ij48cCBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6IzU1NTtsaW5lLWhlaWdodDoxLjg7bWFyZ2luOjAiPiR7YS5ibHVyYn08L3A+PC9kaXY+JHthLmlzTmV3c2xldHRlcj9gPGRpdiBpZD0ibmwtZm9ybSI+PGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDoxMHB4O2ZsZXgtd3JhcDp3cmFwIj48aW5wdXQgdHlwZT0iZW1haWwiIGlkPSJubC1lbWFpbCIgcGxhY2Vob2xkZXI9IkVudGVyIHlvdXIgZW1haWwgYWRkcmVzcyIgdmFsdWU9IiR7Y29udGFjdC5lbWFpbH0iIHN0eWxlPSJmbGV4OjE7bWluLXdpZHRoOjIwMHB4O2ZvbnQtc2l6ZToxNHB4Ij48YnV0dG9uIGNsYXNzPSJidG4tYmx1ZSIgc3R5bGU9InBhZGRpbmc6MTRweCAyOHB4O2ZvbnQtc2l6ZToxNHB4O3doaXRlLXNwYWNlOm5vd3JhcCIgb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25sLWZvcm0nKS5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmwtZG9uZScpLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpIj5TdWJzY3JpYmUg4oaSPC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBpZD0ibmwtZG9uZSIgY2xhc3M9ImhpZGRlbiIgc3R5bGU9ImJhY2tncm91bmQ6cmdiYSgzMCw1OCwxMzgsLjA2KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMzAsNTgsMTM4LC4yKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxNnB4IDIwcHg7dGV4dC1hbGlnbjpjZW50ZXIiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUUzQThBO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTVweCI+4pyTIFlvdSdyZSBzdWJzY3JpYmVkITwvc3Bhbj48c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jaztjb2xvcjojNjY2O2ZvbnQtc2l6ZToxM3B4O21hcmdpbi10b3A6NnB4Ij5XZWxjb21lIHRvIHRoZSBhbHRpdHVkZS4gRmlyc3QgZGlzcGF0Y2ggYXJyaXZlcyB0aGlzIHdlZWsuPC9zcGFuPjwvZGl2PmA6YDxhIGhyZWY9IiR7YS51cmx9IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0iYWN0aW9uLWJ0biIgc3R5bGU9ImJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywke2EuYWNjZW50fSwke2EuYWNjZW50fWNjKTtjb2xvcjoke2EuaWQ9PT0nZGlyZWN0b3J5Jz8nIzBmMTcyYSc6JyNmZmYnfTtib3gtc2hhZG93OjAgNHB4IDE1cHggJHthLmFjY2VudH0zMCI+JHthLmN0YX08L2E+YH08L2Rpdj48L2Rpdj5gfSk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25leHRzdGVwcy1jb250ZW50JykuaW5uZXJIVE1MPWh0bWwKfQoKZnVuY3Rpb24gdG9nZ2xlQWN0aW9uKGlkKXsKICBjb25zdCBib2R5PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib2R5LScraWQpLGFycm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhcnJvdy0nK2lkKSxoaW50PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3Rpb24taGludC0nK2lkKSxjYXJkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3Rpb24tJytpZCk7Y29uc3QgaXNPcGVuPSFib2R5LmNsYXNzTGlzdC5jb250YWlucygnaGlkZGVuJyk7CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmFjdGlvbi1ib2R5JykuZm9yRWFjaChiPT5iLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpKTtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYWN0aW9uLWFycm93JykuZm9yRWFjaChhPT5hLnN0eWxlLnRyYW5zZm9ybT0ncm90YXRlKDApJyk7ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2lkXj0iYWN0aW9uLWhpbnQtIl0nKS5mb3JFYWNoKGg9PntpZihoKWgudGV4dENvbnRlbnQ9J1RhcCB0byBsZWFybiBtb3JlJ30pO2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hY3Rpb24tY2FyZCcpLmZvckVhY2goYz0+Yy5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJykpOwogIGlmKCFpc09wZW4pe2JvZHkuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7YXJyb3cuc3R5bGUudHJhbnNmb3JtPSdyb3RhdGUoMTgwZGVnKSc7aWYoaGludCloaW50LnRleHRDb250ZW50PScnO2NhcmQuY2xhc3NMaXN0LmFkZCgnb3BlbicpfQp9Cgphc3luYyBmdW5jdGlvbiBzZW5kQ29tcGxldGlvbkFsZXJ0KHNjb3JlLHNlZyxzZWNTY29yZXMpewogIGNvbnN0IGRpbXM9c2VjU2NvcmVzLm1hcChzPT5gJHtzLmljb259ICR7cy50aXRsZX06ICR7cy5wY3R9JSAoJHtzLnBjdD49NjY/IlN0cm9uZyI6cy5wY3Q+PTMzPyJFeHBvc2VkIjoiQ3JpdGljYWwifSlgKS5qb2luKCIgfCAiKTsKICB0cnl7YXdhaXQgZmV0Y2goJ2h0dHBzOi8vZm9ybXN1Ym1pdC5jby9hamF4LycrQUxFUlRfRU1BSUwse21ldGhvZDonUE9TVCcsaGVhZGVyczp7J0NvbnRlbnQtVHlwZSc6J2FwcGxpY2F0aW9uL2pzb24nLEFjY2VwdDonYXBwbGljYXRpb24vanNvbid9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe19zdWJqZWN0Oifwn6aFIFtCXSBWb3J0ZXggQ29tcGxldGU6ICcrY29udGFjdC5uYW1lKycg4oCUICcrU0VHTUVOVFNbc2VnXS5sYWJlbCsnICgnK01hdGgucm91bmQoKHNjb3JlL01BWF9TQ09SRSkqMTAwKSsnJSknLF90ZW1wbGF0ZTondGFibGUnLCcwMV9OYW1lJzpjb250YWN0Lm5hbWUsJzAyX0VtYWlsJzpjb250YWN0LmVtYWlsLCcwM19Db21wYW55Jzpjb250YWN0LmNvbXBhbnksJzA0X1JvbGUnOmNvbnRhY3Qucm9sZXx8J+KAlCcsJzA1X1Bob25lJzpjb250YWN0LnBob25lfHwn4oCUJywnMDZfQ291bnRyeSc6Y29udGFjdC5jb3VudHJ5LCcwN19Db2RlJzp2YWxpZENvZGUsJzA4X1Njb3JlJzpzY29yZSsnLycrTUFYX1NDT1JFKycgKCcrTWF0aC5yb3VuZCgoc2NvcmUvTUFYX1NDT1JFKSoxMDApKyclKScsJzA5X1NlZ21lbnQnOlNFR01FTlRTW3NlZ10ubGFiZWwrJyDigJQgJytTRUdNRU5UU1tzZWddLnRhZywnMTBfRGltZW5zaW9ucyc6ZGltcywnMTFfVGltZSc6bmV3IERhdGUoKS50b0lTT1N0cmluZygpfSl9KX1jYXRjaChlKXt9Cn0KCndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywoKT0+e2luaXRUaW1lcigpO2luaXRCZW5lZml0cygpfSkKPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPg==","embed":""}
Exclusive Invitation
The Vortex Altitude
Founder Readiness Diagnostic & Expert Feature Opportunity
By The Sovereign Architects Γ Africa Frontline Media Nexus
πΊπ¬ Ugandaπ°πͺ KenyaπΉπΏ Tanzaniaπ·πΌ Rwanda
β±οΈ
This Invitation Expires In
17 of 25 spots remaining
Enter Your Invite Code
Invalid invite code. This diagnostic is by invitation only.
π
What You Receive
π Founder Readiness Score across 7 critical dimensions
πΊοΈ Personalised exposure map with dimension breakdown
π€ FREE expert feature article on Africa Frontline Media (27 channels)
π FREE listing in East Africa Top Directory (1,000+ businesses)
π FREE online visibility audit via RepGrader
π‘ Strategic recommendations tailored to your readiness level
β Code Accepted
Before We Feature You β
Let's See Where You Stand
Africa's most important shifts rarely announce themselves. They happen in policy adjustments, regulatory enforcement, and market behaviour that only becomes visible after consequences unfold.
The problem is not speed. It is altitude.
7 Dimensions We'll Measure
π Estimated Time: 8β12 minutes
21 questions. Intentionally thorough. Surface-level thinkers need not apply.
π€
Your Details
Required for your expert feature article
SECTION 1 OF 7
|
0/21 answered
β Your results have been recorded and our team has been notified
The Vortex Altitude Diagnostic β The Sovereign Architects Γ Africa Frontline Media Nexus
"Clarity is a competitive advantage.
Build what you own."
The Sovereign Architects Γ Africa Frontline Media Nexus
27 channels Β· 34,500+ posts Β· Your story is next.