{"js":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAgIFRIRSBWT1JURVggQUxUSVRVREUg4oCUIE1BSU4gRElBR05PU1RJQyBGVU5ORUwKICAgICAgIEVudHJ5OiAvdm9ydGV4LXdlbGNvbWUgKEdhdGUgcGFnZSkKICAgICAgIEhhc2ggcm91dGVzOiAjd2VsY29tZSDihpIgI2RldGFpbHMg4oaSICNhc3Nlc3Mg4oaSICNyZXN1bHRzIOKGkiAjbmV4dAogICAgICAgCiAgICAgICBERVBMT1lNRU5UOgogICAgICAgVGhpcyBzaW5nbGUgZmlsZSBoYW5kbGVzIGFsbCA1IGlubmVyIGZ1bm5lbCBzdGFnZXMuCiAgICAgICBEZXBsb3kgdG86IHRoZW1lcmlkaWFuLmFmcmljYS92b3J0ZXgtd2VsY29tZS9pbmRleC5odG1sCiAgICAgICAKICAgICAgIFNMVUcgTUFQOgogICAgICAgL3ZvcnRleCAgICAgICAgICAgICA9IEZyb250IERvb3IgKHNlcGFyYXRlIGZpbGUpCiAgICAgICAvdm9ydGV4LWRpc2NvdmVyICAgID0gRGlzY292ZXJ5IChzZXBhcmF0ZSBmaWxlKQogICAgICAgL3ZvcnRleC13ZWxjb21lICAgICA9IFRISVMgRklMRSAoR2F0ZSBlbnRyeSkKICAgICAgIC92b3J0ZXgtd2VsY29tZSNkZXRhaWxzICA9IENvbnRhY3QgY2FwdHVyZQogICAgICAgL3ZvcnRleC13ZWxjb21lI2Fzc2VzcyAgID0gQXNzZXNzbWVudAogICAgICAgL3ZvcnRleC13ZWxjb21lI3Jlc3VsdHMgID0gUmVzdWx0cwogICAgICAgL3ZvcnRleC13ZWxjb21lI25leHQgICAgID0gVGhhbmsgWW91IC8gTmV4dCBTdGVwcwogICAgICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgoKICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgoKICA8IS0tIFBSSU1BUlkgTUVUQSDigJQgR0FURSBQQUdFIC0tPgogIDx0aXRsZT5FbnRlciBZb3VyIEludml0YXRpb24gfCBUaGUgVm9ydGV4IEFsdGl0dWRlIERpYWdub3N0aWMgfCBUaGUgU292ZXJlaWduIEFyY2hpdGVjdHM8L3RpdGxlPgogIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJZb3VyIGV4Y2x1c2l2ZSBpbnZpdGF0aW9uIHRvIHRoZSBWb3J0ZXggQWx0aXR1ZGUgYXdhaXRzLiBFbnRlciB5b3VyIGludml0ZSBjb2RlIHRvIGJlZ2luIHRoZSA3LWRpbWVuc2lvbiBGb3VuZGVyIFJlYWRpbmVzcyBEaWFnbm9zdGljIGFuZCBlYXJuIHlvdXIgZnJlZSBleHBlcnQgZmVhdHVyZSBhcnRpY2xlLiI+CiAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9Imludml0ZSBjb2RlLCBleGNsdXNpdmUgZGlhZ25vc3RpYywgZm91bmRlciBhc3Nlc3NtZW50LCBFYXN0IEFmcmljYSBidXNpbmVzcyBldmFsdWF0aW9uLCBleHBlcnQgZmVhdHVyZSBvcHBvcnR1bml0eSI+CiAgPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vdGhlbWVyaWRpYW4uYWZyaWNhL3ZvcnRleC13ZWxjb21lIj4KCiAgPCEtLSBPUEVOIEdSQVBIIC0tPgogIDxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJ3ZWJzaXRlIj4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IllvdXIgSW52aXRhdGlvbiBBd2FpdHMgfCBUaGUgVm9ydGV4IEFsdGl0dWRlIERpYWdub3N0aWMiPgogIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iRW50ZXIgeW91ciBleGNsdXNpdmUgaW52aXRlIGNvZGUgdG8gdW5sb2NrIHRoZSBGb3VuZGVyIFJlYWRpbmVzcyBEaWFnbm9zdGljLiAyMSBxdWVzdGlvbnMuIDcgZGltZW5zaW9ucy4gT25lIGhvbmVzdCBtaXJyb3IuIFBsdXMgYSBmcmVlIGV4cGVydCBmZWF0dXJlIG9uIG91ciAyNy1jaGFubmVsIG1lZGlhIG5ldHdvcmsuIj4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vdGhlbWVyaWRpYW4uYWZyaWNhL2ltYWdlcy92b3J0ZXgtZ2F0ZS1vZy5qcGciPgogIDxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vdGhlbWVyaWRpYW4uYWZyaWNhL3ZvcnRleC13ZWxjb21lIj4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6c2l0ZV9uYW1lIiBjb250ZW50PSJUaGUgU292ZXJlaWduIEFyY2hpdGVjdHMiPgoKICA8IS0tIFRXSVRURVIgQ0FSRCAtLT4KICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiPgogIDxtZXRhIG5hbWU9InR3aXR0ZXI6dGl0bGUiIGNvbnRlbnQ9IllvdXIgSW52aXRhdGlvbiBBd2FpdHMgfCBUaGUgVm9ydGV4IEFsdGl0dWRlIERpYWdub3N0aWMiPgogIDxtZXRhIG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkVudGVyIHlvdXIgZXhjbHVzaXZlIGludml0ZSBjb2RlIHRvIHVubG9jayB0aGUgRm91bmRlciBSZWFkaW5lc3MgRGlhZ25vc3RpYy4gMjEgcXVlc3Rpb25zLiA3IGRpbWVuc2lvbnMuIE9uZSBob25lc3QgbWlycm9yLiI+CiAgPG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZSIgY29udGVudD0iaHR0cHM6Ly90aGVtZXJpZGlhbi5hZnJpY2EvaW1hZ2VzL3ZvcnRleC1nYXRlLW9nLmpwZyI+CgogIDwhLS0gUk9CT1RTIC0tPgogIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0iaW5kZXgsIGZvbGxvdyI+CgogIDwhLS0gU1RSVUNUVVJFRCBEQVRBIC0tPgogIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgewogICAgIkBjb250ZXh0IjogImh0dHBzOi8vc2NoZW1hLm9yZyIsCiAgICAiQHR5cGUiOiAiV2ViQXBwbGljYXRpb24iLAogICAgIm5hbWUiOiAiVGhlIFZvcnRleCBBbHRpdHVkZSDigJQgRm91bmRlciBSZWFkaW5lc3MgRGlhZ25vc3RpYyIsCiAgICAiZGVzY3JpcHRpb24iOiAiQW4gaW52aXRhdGlvbi1vbmx5IDctZGltZW5zaW9uIGRpYWdub3N0aWMgbWVhc3VyaW5nIGZvdW5kZXIgc3RydWN0dXJhbCByZWFkaW5lc3MgYWNyb3NzIEVhc3QgQWZyaWNhLiIsCiAgICAidXJsIjogImh0dHBzOi8vdGhlbWVyaWRpYW4uYWZyaWNhL3ZvcnRleC13ZWxjb21lIiwKICAgICJhcHBsaWNhdGlvbkNhdGVnb3J5IjogIkJ1c2luZXNzQXBwbGljYXRpb24iLAogICAgIm9wZXJhdGluZ1N5c3RlbSI6ICJXZWIgQnJvd3NlciIsCiAgICAib2ZmZXJzIjogeyAiQHR5cGUiOiAiT2ZmZXIiLCAicHJpY2UiOiAiMCIsICJwcmljZUN1cnJlbmN5IjogIlVTRCIgfSwKICAgICJwdWJsaXNoZXIiOiB7CiAgICAgICJAdHlwZSI6ICJPcmdhbml6YXRpb24iLAogICAgICAibmFtZSI6ICJUaGUgU292ZXJlaWduIEFyY2hpdGVjdHMiLAogICAgICAidXJsIjogImh0dHBzOi8vdGhlbWVyaWRpYW4uYWZyaWNhIgogICAgfQogIH0KICA8L3NjcmlwdD4KCiAgPCEtLSAKICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICBNRVRBIFRBR1MgRk9SIElOTkVSIFBBR0VTIChmb3IgU1NSIG9yIHNlcGFyYXRlIGVudHJ5IHBvaW50cyk6CiAgCiAgUEFHRTogL3ZvcnRleC13ZWxjb21lI2RldGFpbHMgKENvbnRhY3QpCiAgPHRpdGxlPllvdXIgRGV0YWlscyB8IFZvcnRleCBBbHRpdHVkZSBEaWFnbm9zdGljIHwgVGhlIFNvdmVyZWlnbiBBcmNoaXRlY3RzPC90aXRsZT4KICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iQ29tcGxldGUgeW91ciBwcm9maWxlIHRvIGJlZ2luIHRoZSBWb3J0ZXggQWx0aXR1ZGUgRm91bmRlciBSZWFkaW5lc3MgRGlhZ25vc3RpYy4gWW91ciBkZXRhaWxzIHByZXBhcmUgeW91ciBjb21wbGltZW50YXJ5IGV4cGVydCBmZWF0dXJlIGFydGljbGUgb24gdGhlIEFmcmljYSBGcm9udGxpbmUgTWVkaWEgbmV0d29yay4iPgogIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iQmVmb3JlIFdlIEZlYXR1cmUgWW91IOKAlCBMZXQncyBTZWUgV2hlcmUgWW91IFN0YW5kIj4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vdGhlbWVyaWRpYW4uYWZyaWNhL2ltYWdlcy92b3J0ZXgtZGV0YWlscy1vZy5qcGciPgogIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCwgbm9mb2xsb3ciPgogIAogIFBBR0U6IC92b3J0ZXgtd2VsY29tZSNhc3Nlc3MgKEFzc2Vzc21lbnQpCiAgPHRpdGxlPkFzc2Vzc21lbnQgaW4gUHJvZ3Jlc3MgfCBWb3J0ZXggQWx0aXR1ZGUgRGlhZ25vc3RpYyB8IFRoZSBTb3ZlcmVpZ24gQXJjaGl0ZWN0czwvdGl0bGU+CiAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IjIxIHF1ZXN0aW9ucyBhY3Jvc3MgNyBjcml0aWNhbCBkaW1lbnNpb25zLiBUaGlzIGlzIG5vdCBhIHN1cnZleSDigJQgaXQgaXMgYSBtaXJyb3IuIj4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IlRoZSBNaXJyb3IgTW9zdCBGb3VuZGVycyBBdm9pZCB8IFZvcnRleCBBbHRpdHVkZSBBc3Nlc3NtZW50Ij4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vdGhlbWVyaWRpYW4uYWZyaWNhL2ltYWdlcy92b3J0ZXgtYXNzZXNzLW9nLmpwZyI+CiAgPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2luZGV4LCBub2ZvbGxvdyI+CiAgCiAgUEFHRTogL3ZvcnRleC13ZWxjb21lI3Jlc3VsdHMgKFJlc3VsdHMpICAKICA8dGl0bGU+WW91ciBBbHRpdHVkZSBSZWFkaW5nIHwgVm9ydGV4IEFsdGl0dWRlIFJlc3VsdHMgfCBUaGUgU292ZXJlaWduIEFyY2hpdGVjdHM8L3RpdGxlPgogIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJZb3VyIEZvdW5kZXIgUmVhZGluZXNzIFNjb3JlIGlzIHJlYWR5LiBTZWUgeW91ciBwZXJmb3JtYW5jZSBhY3Jvc3MgYWxsIDcgZGltZW5zaW9ucy4iPgogIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iWW91ciBBbHRpdHVkZSBIYXMgQmVlbiBNZWFzdXJlZCB8IFZvcnRleCBBbHRpdHVkZSBSZXN1bHRzIj4KICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vdGhlbWVyaWRpYW4uYWZyaWNhL2ltYWdlcy92b3J0ZXgtcmVzdWx0cy1vZy5qcGciPgogIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCwgbm9mb2xsb3ciPgogIAogIFBBR0U6IC92b3J0ZXgtd2VsY29tZSNuZXh0IChUaGFuayBZb3UgLyBOZXh0IFN0ZXBzKQogIDx0aXRsZT5Zb3VyIE5leHQgU3RlcCB8IFZvcnRleCBBbHRpdHVkZSB8IFRoZSBTb3ZlcmVpZ24gQXJjaGl0ZWN0cyB4IEFmcmljYSBGcm9udGxpbmUgTWVkaWEgTmV4dXM8L3RpdGxlPgogIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJZb3VyIGRpYWdub3N0aWMgaXMgY29tcGxldGUuIENob29zZSB5b3VyIHBhdGg6IHN0cmF0ZWd5IHNlc3Npb24sIG5vbWluYXRpb24sIGRpcmVjdG9yeSBsaXN0aW5nLCB2aXNpYmlsaXR5IGF1ZGl0LCBuZXdzcm9vbSwgb3IgbmV3c2xldHRlci4iPgogIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iV2hhdCBXb3VsZCBZb3UgTGlrZSB0byBEbyBOZXh0PyB8IFZvcnRleCBBbHRpdHVkZSI+CiAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSJodHRwczovL3RoZW1lcmlkaWFuLmFmcmljYS9pbWFnZXMvdm9ydGV4LW5leHRzdGVwcy1vZy5qcGciPgogIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCwgbm9mb2xsb3ciPgogIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogIC0tPgoKICA8c3R5bGU+CiAgICAqe21hcmdpbjowO3BhZGRpbmc6MDtib3gtc2l6aW5nOmJvcmRlci1ib3h9CiAgICBib2R5e2ZvbnQtZmFtaWx5OidTZWdvZSBVSScsVGFob21hLEdlbmV2YSxWZXJkYW5hLHNhbnMtc2VyaWY7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNmNWY1ZjUsI2U4ZThlOCk7Y29sb3I6IzFhMWEyZTttaW4taGVpZ2h0OjEwMHZofQogICAgLmtlbnRle2hlaWdodDo4cHg7YmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDkwZGVnLCNENEFGMzcgMHB4LCNENEFGMzcgMzBweCwjMjI4QjIyIDMwcHgsIzIyOEIyMiA2MHB4LCNDNDFFM0EgNjBweCwjQzQxRTNBIDkwcHgsIzFhMWEyZSA5MHB4LCMxYTFhMmUgMTIwcHgpfQogICAgLmtlbnRlLXNte2hlaWdodDo2cHg7YmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDkwZGVnLCNENEFGMzcgMHB4LCNENEFGMzcgMzBweCwjMjI4QjIyIDMwcHgsIzIyOEIyMiA2MHB4LCNDNDFFM0EgNjBweCwjQzQxRTNBIDkwcHgsIzFhMWEyZSA5MHB4LCMxYTFhMmUgMTIwcHgpfQogICAgLmNvbnRhaW5lcnttYXgtd2lkdGg6ODYwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjMwcHggMjBweH0KICAgIC5jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjE1cHg7cGFkZGluZzozMHB4O21hcmdpbi1ib3R0b206MjVweDtib3gtc2hhZG93OjAgNXB4IDIwcHggcmdiYSgwLDAsMCwuMDgpO2FuaW1hdGlvbjpmYWRlSW4gLjRzIGVhc2V9CiAgICAuaGVyb3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsIzFhMWEyZSAwJSwjMTYyMTNlIDUwJSwjMjI4QjIyIDEwMCUpO3BhZGRpbmc6NTBweCAyMHB4O3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0KICAgIC5oZXJvOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtvcGFjaXR5Oi4wMztiYWNrZ3JvdW5kLWltYWdlOnJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoNDVkZWcsI0Q0QUYzNyAwcHgsdHJhbnNwYXJlbnQgMXB4LHRyYW5zcGFyZW50IDIwcHgsI0Q0QUYzNyAyMXB4KTtiYWNrZ3JvdW5kLXNpemU6MzBweCAzMHB4fQogICAgLmhlcm8tY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9CiAgICAubGFiZWx7Zm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6NnB4O2NvbG9yOiNENEFGMzc7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO21hcmdpbi1ib3R0b206MTBweDtmb250LXdlaWdodDo2MDB9CiAgICBoMXtjb2xvcjojZmZmO2ZvbnQtc2l6ZToyLjRyZW07bWFyZ2luLWJvdHRvbTo4cHg7dGV4dC1zaGFkb3c6MnB4IDJweCA0cHggcmdiYSgwLDAsMCwuMyk7bGluZS1oZWlnaHQ6MS4xNX0KICAgIC5zdWJ7Y29sb3I6I0Q0QUYzNztmb250LXNpemU6MS4xNXJlbTtmb250LXdlaWdodDo1MDB9CiAgICAuYnlsaW5le2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO2ZvbnQtc2l6ZTouOTVyZW07bWFyZ2luLXRvcDoxMnB4O2ZvbnQtc3R5bGU6aXRhbGljfQogICAgLmZsYWdze2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxOHB4O21hcmdpbi10b3A6MjBweDtmbGV4LXdyYXA6d3JhcH0KICAgIC5mbGFncyBzcGFue2NvbG9yOiNmZmY7Zm9udC1zaXplOi45cmVtO29wYWNpdHk6Ljg1fQoKICAgIC8qIFByb2dyZXNzIGJhciAqLwogICAgLnByb2dyZXNzLWJhcntiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzoxNHB4IDIwcHg7cG9zaXRpb246c3RpY2t5O3RvcDowO3otaW5kZXg6MTAwO2JveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDAsMCwwLC4xKX0KICAgIC5wcm9ncmVzcy1pbm5lcntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWF4LXdpZHRoOjgwMHB4O21hcmdpbjowIGF1dG87cG9zaXRpb246cmVsYXRpdmV9CiAgICAucHJvZ3Jlc3MtbGluZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6MDtyaWdodDowO2hlaWdodDozcHg7YmFja2dyb3VuZDojZTBlMGUwO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3otaW5kZXg6MX0KICAgIC5wcm9ncmVzcy1maWxse3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO2hlaWdodDozcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsI0Q0QUYzNywjMjI4QjIyKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt6LWluZGV4OjI7Ym9yZGVyLXJhZGl1czoycHg7dHJhbnNpdGlvbjp3aWR0aCAuNXMgZWFzZX0KICAgIC5zdGVwe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6M30KICAgIC5zdGVwLWRvdHt3aWR0aDozNHB4O2hlaWdodDozNHB4O2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjEzcHg7Ym9yZGVyOjNweCBzb2xpZCAjZmZmO2JveC1zaGFkb3c6MCAycHggNXB4IHJnYmEoMCwwLDAsLjEpO3RyYW5zaXRpb246YWxsIC4zc30KICAgIC5zdGVwLWRvdC5kb25le2JhY2tncm91bmQ6I0Q0QUYzNztjb2xvcjojZmZmfQogICAgLnN0ZXAtZG90LmN1cnJlbnR7YmFja2dyb3VuZDojMjI4QjIyO2NvbG9yOiNmZmZ9CiAgICAuc3RlcC1kb3QucGVuZGluZ3tiYWNrZ3JvdW5kOiNlMGUwZTA7Y29sb3I6IzY2Nn0KICAgIC5zdGVwLWxhYmVse2ZvbnQtc2l6ZTo5cHg7bWFyZ2luLXRvcDo0cHg7dGV4dC1hbGlnbjpjZW50ZXI7bWF4LXdpZHRoOjYwcHg7bGluZS1oZWlnaHQ6MS4yfQoKICAgIC8qIFRpbWVyICovCiAgICAudGltZXJ7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O2p1c3RpZnktY29udGVudDpjZW50ZXJ9CiAgICAudGltZXItdW5pdHt0ZXh0LWFsaWduOmNlbnRlcn0KICAgIC50aW1lci1udW17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMxYTFhMmUsIzE2MjEzZSk7Y29sb3I6I0Q0QUYzNztmb250LXNpemU6MjhweDtmb250LXdlaWdodDo4MDA7d2lkdGg6NjRweDtoZWlnaHQ6NjRweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyLXJhZGl1czoxMnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgyMTIsMTc1LDU1LC4zKTtmb250LWZhbWlseTonQ291cmllciBOZXcnLG1vbm9zcGFjZX0KICAgIC50aW1lci1sYmx7Zm9udC1zaXplOjlweDtjb2xvcjojODg4O2xldHRlci1zcGFjaW5nOjJweDttYXJnaW4tdG9wOjRweDtmb250LXdlaWdodDo3MDB9CgogICAgLyogRm9ybSBlbGVtZW50cyAqLwogICAgaW5wdXRbdHlwZT10ZXh0XSxpbnB1dFt0eXBlPWVtYWlsXSxpbnB1dFt0eXBlPXRlbF0saW5wdXRbdHlwZT1wYXNzd29yZF17d2lkdGg6MTAwJTtwYWRkaW5nOjE0cHggMTZweDtib3JkZXI6MnB4IHNvbGlkICNlMGUwZTA7Ym9yZGVyLXJhZGl1czoxMHB4O2ZvbnQtc2l6ZToxNnB4O3RyYW5zaXRpb246YWxsIC4zcztiYWNrZ3JvdW5kOiNmYWZhZmE7b3V0bGluZTpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LWZhbWlseTppbmhlcml0fQogICAgaW5wdXQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMyMjhCMjI7YmFja2dyb3VuZDojZmZmO2JveC1zaGFkb3c6MCAwIDAgNHB4IHJnYmEoMzQsMTM5LDM0LC4xKX0KICAgIC5jb2RlLWlucHV0e3RleHQtYWxpZ246Y2VudGVyO2xldHRlci1zcGFjaW5nOjRweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC1mYW1pbHk6J0NvdXJpZXIgTmV3Jyxtb25vc3BhY2U7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO21heC13aWR0aDo0MDBweDttYXJnaW46MCBhdXRvO2Rpc3BsYXk6YmxvY2t9CiAgICAuZm9ybS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZml0LG1pbm1heCgyNTBweCwxZnIpKTtnYXA6MTZweH0KICAgIGxhYmVse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo2cHg7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxNHB4O2NvbG9yOiMxYTFhMmV9CiAgICAuY291bnRyeS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZml0LG1pbm1heCgxMzBweCwxZnIpKTtnYXA6MTBweH0KICAgIC5jb3VudHJ5LWNhcmR7Ym9yZGVyOjJweCBzb2xpZCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjE0cHg7dGV4dC1hbGlnbjpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgLjNzO2JhY2tncm91bmQ6I2ZmZjtmb250LXNpemU6MTRweH0KICAgIC5jb3VudHJ5LWNhcmQuc2VsZWN0ZWR7Ym9yZGVyLWNvbG9yOiMyMjhCMjI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoMzQsMTM5LDM0LC4wOCkscmdiYSgyMTIsMTc1LDU1LC4wOCkpO2ZvbnQtd2VpZ2h0OjcwMH0KICAgIC5jb3VudHJ5LWNhcmQgLmZsYWd7Zm9udC1zaXplOjEuNXJlbTttYXJnaW4tYm90dG9tOjRweH0KCiAgICAvKiBCdXR0b25zICovCiAgICAuYnRuLWdvbGR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNENEFGMzcsI2M5YTIyNyk7Y29sb3I6IzFhMWEyZTtib3JkZXI6bm9uZTtwYWRkaW5nOjE2cHggMzZweDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7Ym9yZGVyLXJhZGl1czoxMHB4O2N1cnNvcjpwb2ludGVyO2xldHRlci1zcGFjaW5nOi41cHg7dHJhbnNpdGlvbjphbGwgLjNzO2JveC1zaGFkb3c6MCA0cHggMTVweCByZ2JhKDIxMiwxNzUsNTUsLjMpO2ZvbnQtZmFtaWx5OmluaGVyaXR9CiAgICAuYnRuLWdvbGQ6aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCk7Ym94LXNoYWRvdzowIDhweCAyNXB4IHJnYmEoMjEyLDE3NSw1NSwuNCl9CiAgICAuYnRuLWdyZWVue2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjMjI4QjIyLCMxYTZiMWEpO2NvbG9yOiNmZmY7Ym9yZGVyOm5vbmU7cGFkZGluZzoxNnB4IDM2cHg7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NzAwO2JvcmRlci1yYWRpdXM6MTBweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAuM3M7Ym94LXNoYWRvdzowIDRweCAxNXB4IHJnYmEoMzQsMTM5LDM0LC4zKTtmb250LWZhbWlseTppbmhlcml0fQogICAgLmJ0bi1ncmVlbjpob3Zlcjpub3QoOmRpc2FibGVkKXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTtib3gtc2hhZG93OjAgOHB4IDI1cHggcmdiYSgzNCwxMzksMzQsLjQpfQogICAgLmJ0bi1ncmVlbjpkaXNhYmxlZHtvcGFjaXR5Oi40O2N1cnNvcjpub3QtYWxsb3dlZH0KICAgIC5idG4tb3V0bGluZXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjoycHggc29saWQgI0Q0QUYzNztjb2xvcjojRDRBRjM3O3BhZGRpbmc6MTRweCAzMHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjYwMDtib3JkZXItcmFkaXVzOjEwcHg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgLjNzO2ZvbnQtZmFtaWx5OmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7ZGlzcGxheTppbmxpbmUtYmxvY2t9CiAgICAuYnRuLW91dGxpbmU6ZGlzYWJsZWR7b3BhY2l0eTouMztjdXJzb3I6bm90LWFsbG93ZWR9CgogICAgLyogQ2FyZHMgd2l0aCBib3JkZXJzICovCiAgICAuYmwtZ29sZHtib3JkZXItbGVmdDo2cHggc29saWQgI0Q0QUYzN30uYnItZ29sZHtib3JkZXItcmlnaHQ6NnB4IHNvbGlkICNENEFGMzd9CiAgICAuYmwtZ3JlZW57Ym9yZGVyLWxlZnQ6NnB4IHNvbGlkICMyMjhCMjJ9LmJyLWdyZWVue2JvcmRlci1yaWdodDo2cHggc29saWQgIzIyOEIyMn0KICAgIC5ibC1vcmFuZ2V7Ym9yZGVyLWxlZnQ6NnB4IHNvbGlkICNGRjZCMzV9LmJyLW9yYW5nZXtib3JkZXItcmlnaHQ6NnB4IHNvbGlkICNGRjZCMzV9CiAgICAuYmwtYmx1ZXtib3JkZXItbGVmdDo2cHggc29saWQgIzFFOTBGRn0uYnItYmx1ZXtib3JkZXItcmlnaHQ6NnB4IHNvbGlkICMxRTkwRkZ9CiAgICAuYmwtcmVke2JvcmRlci1sZWZ0OjZweCBzb2xpZCAjQzQxRTNBfS5ici1yZWR7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZCAjQzQxRTNBfQoKICAgIC5jYXJkLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O21hcmdpbi1ib3R0b206MThweDtwYWRkaW5nLWJvdHRvbToxNHB4O2JvcmRlci1ib3R0b206M3B4IHNvbGlkICNENEFGMzd9CiAgICAuY2FyZC1pY29ue3dpZHRoOjQ1cHg7aGVpZ2h0OjQ1cHg7Ym9yZGVyLXJhZGl1czoxMnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MS4zcmVtO2ZsZXgtc2hyaW5rOjB9CgogICAgLyogQXNzZXNzbWVudCAqLwogICAgLnNlYy1kb3Rze2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo2cHg7bWFyZ2luLWJvdHRvbToyNHB4fQogICAgLnNlYy1kb3R7aGVpZ2h0OjEwcHg7Ym9yZGVyLXJhZGl1czo1cHg7dHJhbnNpdGlvbjphbGwgLjNzO2N1cnNvcjpkZWZhdWx0fQogICAgLnEtY2FyZHtib3JkZXI6MnB4IHNvbGlkICNlZWU7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MjBweDttYXJnaW4tYm90dG9tOjE0cHg7dHJhbnNpdGlvbjphbGwgLjNzO2JhY2tncm91bmQ6I2ZhZmFmYX0KICAgIC5xLWNhcmQuYW5zd2VyZWR7YmFja2dyb3VuZDpyZ2JhKDM0LDEzOSwzNCwuMDMpO2JvcmRlci1jb2xvcjpyZ2JhKDM0LDEzOSwzNCwuMTIpfQogICAgLnEtdGV4dHtmb250LXNpemU6MTVweDtjb2xvcjojMzMzO2xpbmUtaGVpZ2h0OjEuNjttYXJnaW4tYm90dG9tOjE0cHh9CiAgICAucS1udW17Y29sb3I6Izg4ODtmb250LXdlaWdodDo3MDA7bWFyZ2luLXJpZ2h0OjhweH0KICAgIC5xLW9wdHN7ZGlzcGxheTpmbGV4O2dhcDoxMHB4fQogICAgLnEtb3B0e2ZsZXg6MTtwYWRkaW5nOjEzcHggMTZweDtib3JkZXItcmFkaXVzOjEwcHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIC4ycztib3JkZXI6MnB4IHNvbGlkICNlOGU4ZTg7YmFja2dyb3VuZDojZmZmO2NvbG9yOiM4ODg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdH0KICAgIC5xLW9wdC5zZWx7Zm9udC13ZWlnaHQ6NzAwO2JveC1zaGFkb3c6MCAycHggOHB4IHJnYmEoMCwwLDAsLjA1KX0KCiAgICAvKiBSZXN1bHRzICovCiAgICAuc2NvcmUtcmluZ3t3aWR0aDoxNzBweDtoZWlnaHQ6MTcwcHg7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luOjAgYXV0byAxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfQogICAgLnNjb3JlLWlubmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMnB4O2xlZnQ6MTJweDtyaWdodDoxMnB4O2JvdHRvbToxMnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6I2ZmZjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfQogICAgLnNjb3JlLW51bXtmb250LXNpemU6NDJweDtmb250LXdlaWdodDo4MDA7Zm9udC1mYW1pbHk6J0NvdXJpZXIgTmV3Jyxtb25vc3BhY2U7bGluZS1oZWlnaHQ6MX0KICAgIC5kaW0tYmFye2hlaWdodDo4cHg7YmFja2dyb3VuZDojZWVlO2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93OmhpZGRlbjttYXJnaW4tdG9wOjRweH0KICAgIC5kaW0tZmlsbHtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOjRweDt0cmFuc2l0aW9uOndpZHRoIDFzIGVhc2V9CgogICAgLyogTmV4dCBTdGVwcyAqLwogICAgLmFjdGlvbi1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjE1cHg7cGFkZGluZzoyNHB4IDMwcHg7bWFyZ2luLWJvdHRvbToxNnB4O2JveC1zaGFkb3c6MCA1cHggMjBweCByZ2JhKDAsMCwwLC4wOCk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgLjNzfQogICAgLmFjdGlvbi1jYXJkOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfQogICAgLmFjdGlvbi1jYXJkLm9wZW57Ym94LXNoYWRvdzowIDhweCAzMHB4IHJnYmEoMCwwLDAsLjEyKX0KICAgIC5hY3Rpb24taGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE0cHh9CiAgICAuYWN0aW9uLWljb257d2lkdGg6NTJweDtoZWlnaHQ6NTJweDtib3JkZXItcmFkaXVzOjE0cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToxLjVyZW07ZmxleC1zaHJpbms6MH0KICAgIC5hY3Rpb24tYXJyb3d7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjE2cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzfQogICAgLmFjdGlvbi1ib2R5e21hcmdpbi10b3A6MjBweDthbmltYXRpb246ZmFkZUluIC4zcyBlYXNlfQogICAgLmFjdGlvbi1ibHVyYntib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxOHB4IDIwcHg7bWFyZ2luLWJvdHRvbToxNnB4fQogICAgLmFjdGlvbi1idG57ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cGFkZGluZzoxNXB4IDMycHg7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTVweDt0cmFuc2l0aW9uOmFsbCAuM3M7dGV4dC1hbGlnbjpjZW50ZXJ9CgogICAgLyogRm9vdGVyICovCiAgICAuZm9vdGVyLWNhcmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMxYTFhMmUgMCUsIzE2MjEzZSA1MCUsIzIyOEIyMiAxMDAlKTt0ZXh0LWFsaWduOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxNnB4O3BhZGRpbmc6MzBweH0KICAgIC5mb290ZXItY2FyZCAua2VudGUtdG9we3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo2cHg7YmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDkwZGVnLCNENEFGMzcgMHB4LCNENEFGMzcgMzBweCwjMjI4QjIyIDMwcHgsIzIyOEIyMiA2MHB4LCNDNDFFM0EgNjBweCwjQzQxRTNBIDkwcHgsIzFhMWEyZSA5MHB4LCMxYTFhMmUgMTIwcHgpfQoKICAgIC5oaWRkZW57ZGlzcGxheTpub25lIWltcG9ydGFudH0KICAgIEBrZXlmcmFtZXMgZmFkZUlue2Zyb217b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19CiAgICBAa2V5ZnJhbWVzIHB1bHNlezAlLDEwMCV7b3BhY2l0eToxfTUwJXtvcGFjaXR5Oi4zfX0KCiAgICBAbWVkaWEobWF4LXdpZHRoOjYwMHB4KXsKICAgICAgaDF7Zm9udC1zaXplOjEuN3JlbX0uY2FyZHtwYWRkaW5nOjIycHh9CiAgICAgIC50aW1lci1udW17d2lkdGg6NTJweDtoZWlnaHQ6NTJweDtmb250LXNpemU6MjJweH0KICAgICAgLmZvcm0tZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogICAgICAuY291bnRyeS1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpfQogICAgICAucS1vcHRze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0KICAgIH0KICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgU1RBR0UgMTogR0FURSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxkaXYgaWQ9InN0YWdlLWdhdGUiPgogIDxkaXYgY2xhc3M9ImtlbnRlIj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJoZXJvIj4KICAgIDxkaXYgY2xhc3M9Imhlcm8tY29udGVudCI+CiAgICAgIDxkaXYgY2xhc3M9ImxhYmVsIj5FeGNsdXNpdmUgSW52aXRhdGlvbjwvZGl2PgogICAgICA8aDE+VGhlIFZvcnRleCBBbHRpdHVkZTwvaDE+CiAgICAgIDxkaXYgY2xhc3M9InN1YiI+Rm91bmRlciBSZWFkaW5lc3MgRGlhZ25vc3RpYyAmYW1wOyBFeHBlcnQgRmVhdHVyZSBPcHBvcnR1bml0eTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJieWxpbmUiPkJ5IFRoZSBTb3ZlcmVpZ24gQXJjaGl0ZWN0cyDDlyBBZnJpY2EgRnJvbnRsaW5lIE1lZGlhIE5leHVzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZsYWdzIj4KICAgICAgICA8c3Bhbj7wn4e68J+HrCBVZ2FuZGE8L3NwYW4+PHNwYW4+8J+HsPCfh6ogS2VueWE8L3NwYW4+PHNwYW4+8J+HufCfh78gVGFuemFuaWE8L3NwYW4+PHNwYW4+8J+Ht/Cfh7wgUndhbmRhPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImtlbnRlIj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iY2FyZCBibC1nb2xkIiBzdHlsZT0iYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNENEFGMzcsI2M5YTIyNyk7Y29sb3I6IzFhMWEyZTt0ZXh0LWFsaWduOmNlbnRlciI+CiAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTBweDttYXJnaW4tYm90dG9tOjE4cHgiPgogICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6MS41cmVtIj7ij7HvuI88L3NwYW4+PGgzIHN0eWxlPSJmb250LXNpemU6MS4zcmVtIj5UaGlzIEludml0YXRpb24gRXhwaXJlcyBJbjwvaDM+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ0aW1lciIgaWQ9InRpbWVyIj48L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDoxNnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6OHB4Ij4KICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzFhMWEyZTthbmltYXRpb246cHVsc2UgMnMgaW5maW5pdGUiPjwvZGl2PgogICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE1cHgiPjxzcGFuIGlkPSJzcG90cyI+MTc8L3NwYW4+IG9mIDI1IHNwb3RzIHJlbWFpbmluZzwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNhcmQgYmwtZ3JlZW4iIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+CiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOjNweDtjb2xvcjojODg4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttYXJnaW4tYm90dG9tOjE0cHg7Zm9udC13ZWlnaHQ6NjAwIj5FbnRlciBZb3VyIEludml0ZSBDb2RlPC9kaXY+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iY29kZS1pbnB1dCIgY2xhc3M9ImNvZGUtaW5wdXQiIHBsYWNlaG9sZGVyPSJFTlRFUiBDT0RFIiBtYXhsZW5ndGg9IjE2Ij4KICAgICAgPGRpdiBpZD0iY29kZS1lcnJvciIgY2xhc3M9ImhpZGRlbiIgc3R5bGU9ImNvbG9yOiNDNDFFM0E7Zm9udC1zaXplOjEzcHg7bWFyZ2luLXRvcDoxMHB4O2ZvbnQtd2VpZ2h0OjYwMCI+SW52YWxpZCBpbnZpdGUgY29kZS4gVGhpcyBkaWFnbm9zdGljIGlzIGJ5IGludml0YXRpb24gb25seS48L2Rpdj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLWdyZWVuIiBzdHlsZT0ibWFyZ2luLXRvcDoxOHB4O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjQwMHB4O2ZvbnQtc2l6ZToxN3B4IiBvbmNsaWNrPSJzdWJtaXRDb2RlKCkiPlVubG9jayBBc3Nlc3NtZW50IOKGkjwvYnV0dG9uPgogICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOjE2cHgiPjxhIGhyZWY9Ii92b3J0ZXgiIHN0eWxlPSJjb2xvcjojODg4O2ZvbnQtc2l6ZToxM3B4O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUiPuKGkCBCYWNrIHRvIEZyb250IERvb3I8L2E+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNhcmQgYnItb3JhbmdlIj4KICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaWNvbiIgc3R5bGU9ImJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjMjI4QjIyLCMxYTZiMWEpIj7wn46BPC9kaXY+CiAgICAgICAgPGgzIHN0eWxlPSJmb250LXNpemU6MS4zcmVtIj5XaGF0IFlvdSBSZWNlaXZlPC9oMz4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZml0LG1pbm1heCgyMjBweCwxZnIpKTtnYXA6MTJweCIgaWQ9ImJlbmVmaXRzLWdyaWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtaXRlbSI+8J+TiiBGb3VuZGVyIFJlYWRpbmVzcyBTY29yZSBhY3Jvc3MgNyBjcml0aWNhbCBkaW1lbnNpb25zPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1pdGVtIj7wn5e677iPIFBlcnNvbmFsaXNlZCBleHBvc3VyZSBtYXAgd2l0aCBkaW1lbnNpb24gYnJlYWtkb3duPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdC1pdGVtIj7wn46kIEZSRUUgZXhwZXJ0IGZlYXR1cmUgYXJ0aWNsZSBvbiBBZnJpY2EgRnJvbnRsaW5lIE1lZGlhICgyNyBjaGFubmVscyk8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWl0ZW0iPvCfk4IgRlJFRSBsaXN0aW5nIGluIEVhc3QgQWZyaWNhIFRvcCBEaXJlY3RvcnkgKDEsMDAwKyBidXNpbmVzc2VzKTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXQtaXRlbSI+8J+UjiBGUkVFIG9ubGluZSB2aXNpYmlsaXR5IGF1ZGl0IHZpYSBSZXBHcmFkZXI8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0LWl0ZW0iPvCfkqEgU3RyYXRlZ2ljIHJlY29tbWVuZGF0aW9ucyB0YWlsb3JlZCB0byB5b3VyIHJlYWRpbmVzcyBsZXZlbDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImtlbnRlLXNtIj48L2Rpdj4KPC9kaXY+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBTVEFHRSAyOiBDT05UQUNUIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPGRpdiBpZD0ic3RhZ2UtY29udGFjdCIgY2xhc3M9ImhpZGRlbiI+CiAgPGRpdiBjbGFzcz0ia2VudGUtc20iPjwvZGl2PgogIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+PGRpdiBjbGFzcz0icHJvZ3Jlc3MtaW5uZXIiIGlkPSJwcm9ncmVzcy1jb250YWN0Ij48L2Rpdj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iY2FyZCBibC1ncmVlbiIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj4KICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtiYWNrZ3JvdW5kOnJnYmEoMzQsMTM5LDM0LC4wOCk7cGFkZGluZzo4cHggMThweDtib3JkZXItcmFkaXVzOjUwcHg7bWFyZ2luLWJvdHRvbToxNnB4Ij4KICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6IzIyOEIyMjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE0cHgiPuKckyBDb2RlIEFjY2VwdGVkPC9zcGFuPgogICAgICAgIDxzcGFuIGlkPSJhY2NlcHRlZC1jb2RlIiBzdHlsZT0iZm9udC1mYW1pbHk6J0NvdXJpZXIgTmV3Jyxtb25vc3BhY2U7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNENEFGMzc7Zm9udC1zaXplOjEzcHgiPjwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxoMiBzdHlsZT0iZm9udC1zaXplOjEuOHJlbTttYXJnaW4tYm90dG9tOjhweDtsaW5lLWhlaWdodDoxLjIiPkJlZm9yZSBXZSBGZWF0dXJlIFlvdSDigJQ8YnI+TGV0J3MgU2VlIFdoZXJlIFlvdSBTdGFuZDwvaDI+CiAgICAgIDxkaXYgc3R5bGU9IndpZHRoOjYwcHg7aGVpZ2h0OjNweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjRDRBRjM3LCMyMjhCMjIpO21hcmdpbjoxMnB4IGF1dG8gMjBweDtib3JkZXItcmFkaXVzOjJweCI+PC9kaXY+CiAgICAgIDxwIHN0eWxlPSJjb2xvcjojNjY2O2xpbmUtaGVpZ2h0OjEuODttYXgtd2lkdGg6NjAwcHg7bWFyZ2luOjAgYXV0bztmb250LXNpemU6MTVweCI+CiAgICAgICAgQWZyaWNhJ3MgbW9zdCBpbXBvcnRhbnQgc2hpZnRzIHJhcmVseSBhbm5vdW5jZSB0aGVtc2VsdmVzLiBUaGV5IGhhcHBlbiBpbiBwb2xpY3kgYWRqdXN0bWVudHMsIHJlZ3VsYXRvcnkgZW5mb3JjZW1lbnQsIGFuZCBtYXJrZXQgYmVoYXZpb3VyIHRoYXQgb25seSBiZWNvbWVzIHZpc2libGUgYWZ0ZXIgY29uc2VxdWVuY2VzIHVuZm9sZC48YnI+PGJyPgogICAgICAgIDxzdHJvbmc+VGhlIHByb2JsZW0gaXMgbm90IHNwZWVkLiBJdCBpcyBhbHRpdHVkZS48L3N0cm9uZz4KICAgICAgPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJjYXJkIGJyLWdvbGQiPgogICAgICA8aDMgc3R5bGU9ImZvbnQtc2l6ZToxLjFyZW07bWFyZ2luLWJvdHRvbToxNnB4Ij43IERpbWVuc2lvbnMgV2UnbGwgTWVhc3VyZTwvaDM+CiAgICAgIDxkaXYgaWQ9ImRpbS1wcmV2aWV3IiBzdHlsZT0iZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDE3MHB4LDFmcikpO2dhcDoxMHB4Ij48L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDoxNnB4O2JhY2tncm91bmQ6cmdiYSgzNCwxMzksMzQsLjA2KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMzQsMTM5LDM0LC4xNSk7Ym9yZGVyLXJhZGl1czoxMHB4O3BhZGRpbmc6MTRweCAxOHB4O3RleHQtYWxpZ246Y2VudGVyIj4KICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6IzIyOEIyMjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE0cHgiPvCflZAgRXN0aW1hdGVkIFRpbWU6IDjigJMxMiBtaW51dGVzPC9zcGFuPgogICAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmJsb2NrO2NvbG9yOiM2NjY7Zm9udC1zaXplOjEycHg7bWFyZ2luLXRvcDo0cHgiPjIxIHF1ZXN0aW9ucy4gSW50ZW50aW9uYWxseSB0aG9yb3VnaC4gU3VyZmFjZS1sZXZlbCB0aGlua2VycyBuZWVkIG5vdCBhcHBseS48L3NwYW4+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJjYXJkIGJsLW9yYW5nZSI+CiAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIiBzdHlsZT0iYm9yZGVyLWJvdHRvbS1jb2xvcjojRkY2QjM1Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWljb24iIHN0eWxlPSJiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI0ZGNkIzNSwjZTA1YTI4KSI+8J+RpDwvZGl2PgogICAgICAgIDxkaXY+PGgzIHN0eWxlPSJmb250LXNpemU6MS4ycmVtO21hcmdpbjowIj5Zb3VyIERldGFpbHM8L2gzPjxwIHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojODg4O21hcmdpbjowIj5SZXF1aXJlZCBmb3IgeW91ciBleHBlcnQgZmVhdHVyZSBhcnRpY2xlPC9wPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncmlkIj4KICAgICAgICA8ZGl2PjxsYWJlbD5GdWxsIE5hbWUgKjwvbGFiZWw+PGlucHV0IHR5cGU9InRleHQiIGlkPSJmLW5hbWUiIHBsYWNlaG9sZGVyPSJZb3VyIGZ1bGwgbmFtZSI+PC9kaXY+CiAgICAgICAgPGRpdj48bGFiZWw+RW1haWwgQWRkcmVzcyAqPC9sYWJlbD48aW5wdXQgdHlwZT0iZW1haWwiIGlkPSJmLWVtYWlsIiBwbGFjZWhvbGRlcj0ieW91ckBlbWFpbC5jb20iPjwvZGl2PgogICAgICAgIDxkaXY+PGxhYmVsPkJ1c2luZXNzIC8gT3JnYW5pc2F0aW9uICo8L2xhYmVsPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZi1jb21wYW55IiBwbGFjZWhvbGRlcj0iWW91ciBjb21wYW55IG5hbWUiPjwvZGl2PgogICAgICAgIDxkaXY+PGxhYmVsPllvdXIgUm9sZSAvIFRpdGxlPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImYtcm9sZSIgcGxhY2Vob2xkZXI9ImUuZy4gRm91bmRlciwgQ0VPLCBEaXJlY3RvciI+PC9kaXY+CiAgICAgICAgPGRpdj48bGFiZWw+UGhvbmUgKHdpdGggY291bnRyeSBjb2RlKTwvbGFiZWw+PGlucHV0IHR5cGU9InRlbCIgaWQ9ImYtcGhvbmUiIHBsYWNlaG9sZGVyPSIrMjU2IDcwMCAwMDAgMDAwIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6MjBweCI+CiAgICAgICAgPGxhYmVsIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEwcHgiPkNvdW50cnkgKjwvbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0iY291bnRyeS1ncmlkIiBpZD0iY291bnRyeS1ncmlkIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxidXR0b24gaWQ9ImJ0bi1iZWdpbiIgY2xhc3M9ImJ0bi1ncmVlbiIgc3R5bGU9Im1hcmdpbi10b3A6MjRweDt3aWR0aDoxMDAlO2ZvbnQtc2l6ZToxN3B4IiBkaXNhYmxlZCBvbmNsaWNrPSJzdGFydEFzc2Vzc21lbnQoKSI+QmVnaW4gTXkgQXNzZXNzbWVudCDihpI8L2J1dHRvbj4KICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImtlbnRlLXNtIj48L2Rpdj4KPC9kaXY+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBTVEFHRSAzOiBBU1NFU1NNRU5UIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPGRpdiBpZD0ic3RhZ2UtYXNzZXNzIiBjbGFzcz0iaGlkZGVuIj4KICA8ZGl2IGNsYXNzPSJrZW50ZS1zbSI+PC9kaXY+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIj48ZGl2IGNsYXNzPSJwcm9ncmVzcy1pbm5lciIgaWQ9InByb2dyZXNzLWFzc2VzcyI+PC9kaXY+PC9kaXY+CiAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InNlYy1kb3RzIiBpZD0ic2VjLWRvdHMiPjwvZGl2PgogICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWJvdHRvbTo4cHgiPgogICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6Izg4ODtsZXR0ZXItc3BhY2luZzoycHg7Zm9udC13ZWlnaHQ6NjAwIj5TRUNUSU9OIDxzcGFuIGlkPSJzZWMtbnVtIj4xPC9zcGFuPiBPRiA3PC9zcGFuPgogICAgICA8c3BhbiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjAgMTJweDtjb2xvcjojZGRkIj58PC9zcGFuPgogICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6Izg4OCI+PHNwYW4gaWQ9InEtYW5zd2VyZWQiPjA8L3NwYW4+LzIxIGFuc3dlcmVkPC9zcGFuPgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6NHB4O2JhY2tncm91bmQ6I2VlZTtib3JkZXItcmFkaXVzOjJweDttYXJnaW4tYm90dG9tOjI0cHg7b3ZlcmZsb3c6aGlkZGVuIj4KICAgICAgPGRpdiBpZD0icS1wcm9ncmVzcyIgc3R5bGU9ImhlaWdodDoxMDAlO3dpZHRoOjAlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNENEFGMzcsIzIyOEIyMik7Ym9yZGVyLXJhZGl1czoycHg7dHJhbnNpdGlvbjp3aWR0aCAuNXMgZWFzZSI+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgaWQ9InNlY3Rpb24tY2FyZCIgY2xhc3M9ImNhcmQiPjwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImtlbnRlLXNtIj48L2Rpdj4KPC9kaXY+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBTVEFHRSA0OiBSRVNVTFRTIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPGRpdiBpZD0ic3RhZ2UtcmVzdWx0cyIgY2xhc3M9ImhpZGRlbiI+CiAgPGRpdiBjbGFzcz0ia2VudGUiPjwvZGl2PgogIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+PGRpdiBjbGFzcz0icHJvZ3Jlc3MtaW5uZXIiIGlkPSJwcm9ncmVzcy1yZXN1bHRzIj48L2Rpdj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgPGRpdiBpZD0iZW1haWwtbm90aWYiIGNsYXNzPSJoaWRkZW4iIHN0eWxlPSJiYWNrZ3JvdW5kOnJnYmEoMzQsMTM5LDM0LC4wNik7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDM0LDEzOSwzNCwuMik7Ym9yZGVyLXJhZGl1czoxMHB4O3BhZGRpbmc6MTJweCAxOHB4O21hcmdpbi1ib3R0b206MjBweDt0ZXh0LWFsaWduOmNlbnRlcjthbmltYXRpb246ZmFkZUluIC40cyBlYXNlIj4KICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiMyMjhCMjI7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NjAwIj7inJMgWW91ciByZXN1bHRzIGhhdmUgYmVlbiByZWNvcmRlZCBhbmQgb3VyIHRlYW0gaGFzIGJlZW4gbm90aWZpZWQ8L3NwYW4+CiAgICA8L2Rpdj4KICAgIDxkaXYgaWQ9InJlc3VsdHMtY29udGVudCI+PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MTBweCAwIj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLWdvbGQiIHN0eWxlPSJmb250LXNpemU6MThweDtwYWRkaW5nOjE4cHggNTBweDt3aWR0aDoxMDAlO21heC13aWR0aDo1MDBweCIgb25jbGljaz0iZ29Ub1N0YWdlKCduZXh0c3RlcHMnKSI+Q2hvb3NlIFlvdXIgTmV4dCBTdGVwIOKGkjwvYnV0dG9uPgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTJweDtjb2xvcjojYWFhO2xpbmUtaGVpZ2h0OjEuNyI+CiAgICAgIDxzdHJvbmcgc3R5bGU9ImNvbG9yOiNENEFGMzciPlRoZSBWb3J0ZXggQWx0aXR1ZGUgRGlhZ25vc3RpYzwvc3Ryb25nPiDigJQgVGhlIFNvdmVyZWlnbiBBcmNoaXRlY3RzIMOXIEFmcmljYSBGcm9udGxpbmUgTWVkaWEgTmV4dXMKICAgIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImtlbnRlIj48L2Rpdj4KPC9kaXY+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBTVEFHRSA1OiBORVhUIFNURVBTIChUSEFOSyBZT1UpIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPGRpdiBpZD0ic3RhZ2UtbmV4dHN0ZXBzIiBjbGFzcz0iaGlkZGVuIj4KICA8ZGl2IGNsYXNzPSJrZW50ZSI+PC9kaXY+CiAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIj48ZGl2IGNsYXNzPSJwcm9ncmVzcy1pbm5lciIgaWQ9InByb2dyZXNzLW5leHQiPjwvZGl2PjwvZGl2PgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8ZGl2IGlkPSJuZXh0c3RlcHMtY29udGVudCI+PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tdG9wOjI0cHgiPgogICAgICA8YnV0dG9uIGNsYXNzPSJidG4tb3V0bGluZSIgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O3BhZGRpbmc6MTJweCAyOHB4IiBvbmNsaWNrPSJnb1RvU3RhZ2UoJ3Jlc3VsdHMnKSI+4oaQIEJhY2sgdG8gTXkgRnVsbCBSZXN1bHRzPC9idXR0b24+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1jYXJkIiBzdHlsZT0ibWFyZ2luLXRvcDoyMHB4Ij4KICAgICAgPGRpdiBjbGFzcz0ia2VudGUtdG9wIj48L2Rpdj4KICAgICAgPHAgc3R5bGU9ImNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjg1KTtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxLjg7bWF4LXdpZHRoOjUyMHB4O21hcmdpbjowIGF1dG87Zm9udC1zdHlsZTppdGFsaWM7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxIj4KICAgICAgICAiQ2xhcml0eSBpcyBhIGNvbXBldGl0aXZlIGFkdmFudGFnZS48YnI+QnVpbGQgd2hhdCB5b3Ugb3duLiIKICAgICAgPC9wPgogICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOjE0cHg7Y29sb3I6I0Q0QUYzNztmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjEzcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxIj5UaGUgU292ZXJlaWduIEFyY2hpdGVjdHMgw5cgQWZyaWNhIEZyb250bGluZSBNZWRpYSBOZXh1czwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOjZweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtmb250LXNpemU6MTFweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjEiPjI3IGNoYW5uZWxzIMK3IDM0LDUwMCsgcG9zdHMgwrcgWW91ciBzdG9yeSBpcyBuZXh0LjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ia2VudGUiPjwvZGl2Pgo8L2Rpdj4KCjxzY3JpcHQ+Ci8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICBWT1JURVggQUxUSVRVREUg4oCUIEZVTk5FTCBFTkdJTkUgdjIuMAogICBTbHVnOiAvdm9ydGV4LXdlbGNvbWUKICAgSGFzaCByb3V0ZXM6ICN3ZWxjb21lICNkZXRhaWxzICNhc3Nlc3MgI3Jlc3VsdHMgI25leHQKICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovCgpjb25zdCBDT0RFUz17Vk9SVEVYMjAyNjp7c3JjOiJsaW5rZWRpbiJ9LEFMVElUVURFMjY6e3NyYzoibWFzdGVybWluZCJ9LFNPVkVSRUlHTjI2OntzcmM6ImRpcmVjdCJ9LEZST05UTElORTI2OntzcmM6ImNvYWNoIn0sQVJDSElURUNUMjY6e3NyYzoicmVmZXJyYWwifX07Cgpjb25zdCBTRUdNRU5UUz17CiAgYXVkYWNpb3VzOntsYWJlbDoiQXVkYWNpb3VzIixjb2xvcjoiI0Q0QUYzNyIsYmc6IiNGRkY5RTYiLGljb246IvCfpoUiLHRhZzoiVmlzaW9uYXJ5IEJ1aWxkZXIiLGRlc2M6IllvdSBvcGVyYXRlIGF0IGFsdGl0dWRlLiBZb3VyIHN0cnVjdHVyZXMgYXJlIHNvdW5kLCB5b3VyIGRpZ2l0YWwgcHJlc2VuY2UgaXMgaW50ZW50aW9uYWwsIGFuZCB5b3UgdGhpbmsgaW4gc3lzdGVtcy4gWW91IGRvbid0IGp1c3QgcnVuIGEgYnVzaW5lc3Mg4oCUIHlvdSBhcmNoaXRlY3QgYW4gZW1waXJlLiBUaGUgbmV4dCBtb3ZlIGlzIHNjYWxlLiIscmVjbzoiWW91J3JlIHJlYWR5IGZvciB0aGUgZnVsbCBBZ2VudGljIEpvdXJuYWxpc3QgYXV0aG9yaXR5IHBhY2thZ2Ug4oCUIHJlY3VycmluZyBleHBlcnQgaW50ZXJ2aWV3cywgbXVsdGktY2hhbm5lbCBwdWJsaXNoaW5nLCBhbmQgdGhvdWdodCBsZWFkZXJzaGlwIHBvc2l0aW9uaW5nIGFjcm9zcyBvdXIgMjctY2hhbm5lbCBuZXR3b3JrLiJ9LAogIHNlcmlvdXM6e2xhYmVsOiJTZXJpb3VzIixjb2xvcjoiIzIyOEIyMiIsYmc6IiNGMEY4RjAiLGljb246IvCfj5fvuI8iLHRhZzoiQ29tbWl0dGVkIEJ1aWxkZXIiLGRlc2M6IllvdSd2ZSBidWlsdCBzb21ldGhpbmcgcmVhbCBhbmQgeW91IHByb3RlY3QgaXQuIEEgZmV3IHN0cnVjdHVyYWwgZ2FwcyByZW1haW4sIGJ1dCB5b3VyIGZvdW5kYXRpb24gaXMgc3Ryb25nLiBXaXRoIHRhcmdldGVkIGF0dGVudGlvbiB0byB0aGUgYW1iZXIgem9uZXMgaW4geW91ciBkaWFnbm9zdGljLCB5b3UnbGwgbW92ZSBmcm9tIHNlcmlvdXMgdG8gc292ZXJlaWduLiIscmVjbzoiU3RhcnQgd2l0aCBvdXIgVG9waWNhbCBFeHBlcnQgcGFja2FnZSDigJQgNCBleHBlcnQgYXJ0aWNsZXMgcGVyIG1vbnRoIGJ1aWxkaW5nIHlvdXIgYXV0aG9yaXR5IHdoaWxlIHdlIGFkZHJlc3MgdGhlIGdhcHMgeW91ciBkaWFnbm9zdGljIHJldmVhbGVkLiJ9LAogIGN1cmlvdXM6e2xhYmVsOiJDdXJpb3VzIixjb2xvcjoiIzFFOTBGRiIsYmc6IiNGMEY0RkYiLGljb246IvCflK0iLHRhZzoiRXhwbG9yaW5nIEVsZXZhdGlvbiIsZGVzYzoiWW91IHNlbnNlIHRoZXJlJ3MgYSBoaWdoZXIgbGV2ZWwgYnV0IGhhdmVuJ3QgbWFwcGVkIHRoZSByb3V0ZSB5ZXQuIFlvdXIgYnVzaW5lc3MgcnVucywgYnV0IGl0J3MgdnVsbmVyYWJsZSBpbiB3YXlzIHlvdSBtYXkgbm90IGhhdmUgZXhhbWluZWQuIFRoaXMgZGlhZ25vc3RpYyBqdXN0IGdhdmUgeW91IHRoZSBtYXAuIixyZWNvOiJCZWdpbiB3aXRoIGEgc2luZ2xlIGV4cGVydCBmZWF0dXJlIGFydGljbGUgb24gb3VyIG5ldHdvcmsg4oCUIGV4cGVyaWVuY2UgdGhlIGF1dGhvcml0eS1idWlsZGluZyBwcm9jZXNzIGZpcnN0aGFuZCwgdGhlbiBkZWNpZGUgeW91ciBuZXh0IHN0ZXAuIn0sCiAgY2F1dGlvdXM6e2xhYmVsOiJDYXV0aW91cyIsY29sb3I6IiNGRjZCMzUiLGJnOiIjRkZGNUYwIixpY29uOiLwn5uh77iPIix0YWc6IkF3YXJlIEJ1dCBHdWFyZGVkIixkZXNjOiJZb3UncmUgYXdhcmUgc29tZXRoaW5nIG5lZWRzIHRvIGNoYW5nZSBidXQgaGF2ZW4ndCBjb21taXR0ZWQgdG8gdGhlIHN0cnVjdHVyYWwgd29yayB5ZXQuIFRoYXQncyBob25lc3Qg4oCUIGFuZCBob25lc3R5IGlzIHRoZSBmaXJzdCBzdGVwLiBZb3VyIGRpYWdub3N0aWMgcmV2ZWFscyBleGFjdGx5IHdoZXJlIHRvIHN0YXJ0LiIscmVjbzoiQ2xhaW0geW91ciBmcmVlIGRpcmVjdG9yeSBsaXN0aW5nIGFuZCB2aXNpYmlsaXR5IGF1ZGl0IGZpcnN0LiBTZWUgd2hlcmUgeW91IHN0YW5kIHB1YmxpY2x5LCB0aGVuIGxldCdzIGhhdmUgYSBzdHJhdGVnaWMgY29udmVyc2F0aW9uIGFib3V0IGNsb3NpbmcgdGhlIGdhcHMuIn0sCiAgb2JsaXZpb3VzOntsYWJlbDoiTmVlZHMgQXdha2VuaW5nIixjb2xvcjoiIzk0QTNCOCIsYmc6IiNGNUY1RjciLGljb246IvCfkqQiLHRhZzoiUHJlLUF3YXJlbmVzcyIsZGVzYzoiWW91ciBidXNpbmVzcyBoYXMgc2lnbmlmaWNhbnQgc3RydWN0dXJhbCBleHBvc3VyZSB5b3UgbWF5IG5vdCBoYXZlIGJlZW4gYXdhcmUgb2YuIFRoaXMgaXNuJ3QganVkZ21lbnQg4oCUIGl0J3MgY2xhcml0eS4gTW9zdCBmb3VuZGVycyBuZXZlciBnZXQgdGhpcyBob25lc3QgYSBtaXJyb3IuIE5vdyB5b3UgaGF2ZSBvbmUuIixyZWNvOiJTdGFydCB3aXRoIG91ciBmcmVlIFJlcEdyYWRlciB2aXNpYmlsaXR5IGF1ZGl0IGFuZCBFYXN0IEFmcmljYSBEaXJlY3RvcnkgbGlzdGluZy4gUmVhZCBvdXIgVm9ydGV4IEFsdGl0dWRlIGFydGljbGVzIG9uIHN0cnVjdHVyYWwgcmVhZGluZXNzLiBXaGVuIHlvdSdyZSByZWFkeSwgd2UnbGwgYmUgaGVyZS4ifQp9OwoKY29uc3QgU0VDVElPTlM9WwogIHtpZDoic3RydWN0dXJlIix0aXRsZToiU3RydWN0dXJlICYgT3duZXJzaGlwIixpY29uOiLwn6exIixhY2NlbnQ6IiNENEFGMzciLHN1YjoiTGVnYWwgZm91bmRhdGlvbnMgdGhhdCBwcm90ZWN0IHdoYXQgeW91J3ZlIGJ1aWx0IixxczpbCiAgICB7aWQ6InExIix0ZXh0OiJJcyB5b3VyIGJ1c2luZXNzIGZvcm1hbGx5IHJlZ2lzdGVyZWQgYW5kIGN1cnJlbnQgd2l0aCBhbGwgcmVndWxhdG9yeSBib2RpZXM/Iix3OlszLDEsMF19LAogICAge2lkOiJxMiIsdGV4dDoiRG8geW91IGhhdmUgd3JpdHRlbiBzaGFyZWhvbGRlciwgcGFydG5lcnNoaXAsIG9yIG9wZXJhdGluZyBhZ3JlZW1lbnRzIGluIHBsYWNlPyIsdzpbMywxLDBdfSwKICAgIHtpZDoicTMiLHRleHQ6IklzIGJ1c2luZXNzIG93bmVyc2hpcCBsZWdhbGx5IHNlcGFyYXRlZCBmcm9tIHlvdXIgcGVyc29uYWwgYXNzZXRzPyIsdzpbMywxLDBdfV19LAogIHtpZDoiY29tcGxpYW5jZSIsdGl0bGU6IkNvbXBsaWFuY2UgJiBSZWd1bGF0aW9uIixpY29uOiLwn5OcIixhY2NlbnQ6IiMyMjhCMjIiLHN1YjoiSG93IHByb3RlY3RlZCBhcmUgeW91IGZyb20gcmVndWxhdG9yeSByaXNrPyIscXM6WwogICAge2lkOiJxNCIsdGV4dDoiRG8geW91IGZ1bGx5IHVuZGVyc3RhbmQgeW91ciBjdXJyZW50IHRheCBvYmxpZ2F0aW9ucyBhY3Jvc3MgYWxsIGp1cmlzZGljdGlvbnM/Iix3OlszLDEsMF19LAogICAge2lkOiJxNSIsdGV4dDoiQXJlIGFsbCBsaWNlbnNlcywgcGVybWl0cywgYW5kIGNlcnRpZmljYXRpb25zIGFjdGl2ZSBhbmQgY29ycmVjdGx5IGZpbGVkPyIsdzpbMywxLDBdfSwKICAgIHtpZDoicTYiLHRleHQ6IkhhdmUgeW91IGV2ZXIgZmFjZWQgY29tcGxpYW5jZSBwZW5hbHRpZXMsIGZpbmVzLCBvciByZWd1bGF0b3J5IGFjdGlvbj8iLHc6WzAsMSwzXX1dfSwKICB7aWQ6ImdvdmVybmFuY2UiLHRpdGxlOiJHb3Zlcm5hbmNlICYgQ29udGludWl0eSIsaWNvbjoi8J+noCIsYWNjZW50OiIjRkY2QjM1IixzdWI6IkNhbiB5b3VyIGJ1c2luZXNzIG91dGxpdmUgeW91ciBkYWlseSBpbnZvbHZlbWVudD8iLHFzOlsKICAgIHtpZDoicTciLHRleHQ6IkNhbiB5b3VyIGJ1c2luZXNzIG9wZXJhdGUgZm9yIDMwIGRheXMgd2l0aG91dCB5b3VyIGRpcmVjdCBkYWlseSBpbnZvbHZlbWVudD8iLHc6WzMsMSwwXX0sCiAgICB7aWQ6InE4Iix0ZXh0OiJBcmUgcm9sZXMsIGRlY2lzaW9uIHJpZ2h0cywgYW5kIGF1dGhvcml0eSBjbGVhcmx5IGRvY3VtZW50ZWQgYW5kIHVuZGVyc3Rvb2Q/Iix3OlszLDEsMF19LAogICAge2lkOiJxOSIsdGV4dDoiRG8geW91IGhhdmUgYSBkaXNwdXRlIHJlc29sdXRpb24gbWVjaGFuaXNtIG9yIHN1Y2Nlc3Npb24gcGxhbiBpbiBwbGFjZT8iLHc6WzMsMSwwXX1dfSwKICB7aWQ6ImlwIix0aXRsZToiSVAgJiBCcmFuZCBQcm90ZWN0aW9uIixpY29uOiLwn6epIixhY2NlbnQ6IiMxRTkwRkYiLHN1YjoiV2hvIHJlYWxseSBvd25zIHlvdXIgYnJhbmQsIGNvbnRlbnQsIGFuZCBpZGVudGl0eT8iLHFzOlsKICAgIHtpZDoicTEwIix0ZXh0OiJEbyB5b3UgbGVnYWxseSBvd24geW91ciBicmFuZCBuYW1lLCBsb2dvLCBhbmQgYWxsIGludGVsbGVjdHVhbCBwcm9wZXJ0eT8iLHc6WzMsMSwwXX0sCiAgICB7aWQ6InExMSIsdGV4dDoiSXMgeW91ciBJUCByZWdpc3RlcmVkIG9yIGNvbnRyYWN0dWFsbHkgcHJvdGVjdGVkIGluIGV2ZXJ5IG1hcmtldCB5b3Ugc2VydmU/Iix3OlszLDEsMF19LAogICAge2lkOiJxMTIiLHRleHQ6IkNvdWxkIHNvbWVvbmUgbGVnYWxseSByZXBsaWNhdGUgeW91ciBidXNpbmVzcyBpZGVudGl0eSBvciBjb250ZW50IHRvZGF5PyIsdzpbMCwxLDNdfV19LAogIHtpZDoiZGlnaXRhbCIsdGl0bGU6IkRpZ2l0YWwgU292ZXJlaWdudHkiLGljb246IvCfjI0iLGFjY2VudDoiI0M0MUUzQSIsc3ViOiJEbyB5b3Ugb3duIHlvdXIgZGlnaXRhbCBwcmVzZW5jZSDigJQgb3IgcmVudCBpdD8iLHFzOlsKICAgIHtpZDoicTEzIix0ZXh0OiJEbyB5b3Ugb3duIHlvdXIgd2Vic2l0ZSBkb21haW4sIGhvc3RpbmcsIGFuZCBlbWFpbCBpbmZyYXN0cnVjdHVyZT8iLHc6WzMsMSwwXX0sCiAgICB7aWQ6InExNCIsdGV4dDoiSWYgSW5zdGFncmFtLCBGYWNlYm9vaywgYW5kIExpbmtlZEluIHNodXQgZG93biB0b21vcnJvdywgY291bGQgeW91ciBidXNpbmVzcyBzdGlsbCByZWFjaCBpdHMgY3VzdG9tZXJzPyIsdzpbMywxLDBdfSwKICAgIHtpZDoicTE1Iix0ZXh0OiJEbyB5b3Ugb3duIGFuIGVtYWlsIGxpc3Qgb2YgYXQgbGVhc3QgNTAwIHBlb3BsZSB3aG8gb3B0ZWQgaW4gdG8gaGVhciBmcm9tIHlvdT8iLHc6WzMsMSwwXX1dfSwKICB7aWQ6ImFpIix0aXRsZToiQUkgJiBGdXR1cmUgUmVhZGluZXNzIixpY29uOiLwn6SWIixhY2NlbnQ6IiNENEFGMzciLHN1YjoiQXJlIHlvdSBidWlsZGluZyB3aXRoIHRvbW9ycm93J3MgdG9vbHMg4oCUIG9yIHllc3RlcmRheSdzPyIscXM6WwogICAge2lkOiJxMTYiLHRleHQ6IkFyZSB5b3UgYWN0aXZlbHkgdXNpbmcgQUkgdG9vbHMgdG8gY3JlYXRlIGNvbnRlbnQsIGF1dG9tYXRlIHdvcmtmbG93cywgb3Igc2VydmUgY3VzdG9tZXJzPyIsdzpbMywxLDBdfSwKICAgIHtpZDoicTE3Iix0ZXh0OiJEbyB5b3UgaGF2ZSBhIHB1Ymxpc2hlZCBjb250ZW50IHN0cmF0ZWd5IHRoYXQgcG9zaXRpb25zIHlvdSBhcyBhbiBhdXRob3JpdHkgaW4geW91ciBpbmR1c3RyeT8iLHc6WzMsMSwwXX0sCiAgICB7aWQ6InExOCIsdGV4dDoiV2hlbiBzb21lb25lIEdvb2dsZXMgeW91ciBuYW1lIG9yIGJ1c2luZXNzLCBkb2VzIHRoZSBmaXJzdCBwYWdlIHJlZmxlY3QgdGhlIGF1dGhvcml0eSB5b3UndmUgYnVpbHQ/Iix3OlszLDEsMF19XX0sCiAge2lkOiJhbHRpdHVkZSIsdGl0bGU6IkFsdGl0dWRlIFRoaW5raW5nIixpY29uOiLwn4+U77iPIixhY2NlbnQ6IiMyMjhCMjIiLHN1YjoiQXJlIHlvdSByZWFjdGluZyB0byBldmVudHMg4oCUIG9yIHJlYWRpbmcgc3lzdGVtcz8iLHFzOlsKICAgIHtpZDoicTE5Iix0ZXh0OiJDYW4geW91IGFydGljdWxhdGUgdGhlIDMgYmlnZ2VzdCBzeXN0ZW1pYyByaXNrcyB0byB5b3VyIGluZHVzdHJ5IGluIHRoZSBuZXh0IDI0IG1vbnRocz8iLHc6WzMsMSwwXX0sCiAgICB7aWQ6InEyMCIsdGV4dDoiRG8geW91IHJlZ3VsYXJseSBpbnZlc3QgdGltZSBpbiBzdHJhdGVnaWMgYW5hbHlzaXMg4oCUIG5vdCBqdXN0IG9wZXJhdGlvbmFsIGV4ZWN1dGlvbj8iLHc6WzMsMSwwXX0sCiAgICB7aWQ6InEyMSIsdGV4dDoiQXJlIHlvdSBidWlsZGluZyBhc3NldHMgdGhhdCBhcHByZWNpYXRlIGluIHZhbHVlLCBvciB0cmFkaW5nIHRpbWUgZm9yIGluY29tZT8iLHc6WzMsMSwwXX1dfQpdOwoKY29uc3QgTUFYX1NDT1JFPTYzLEFMRVJUX0VNQUlMPSJtdWthc2F2ZW50dXJlcGFydG5lcnNAZ21haWwuY29tIjsKY29uc3QgY291bnRyaWVzPVsi8J+HuvCfh6wgVWdhbmRhIiwi8J+HsPCfh6ogS2VueWEiLCLwn4e58J+HvyBUYW56YW5pYSIsIvCfh7fwn4e8IFJ3YW5kYSIsIvCfh6rwn4e5IEV0aGlvcGlhIiwi8J+HqPCfh6kgRFJDIiwi8J+HuPCfh7ggU291dGggU3VkYW4iLCLwn4yNIE90aGVyIl07CmNvbnN0IHN0ZXBOYW1lcz1bIlZlcmlmaWVkIiwiRGV0YWlscyIsIkFzc2Vzc21lbnQiLCJSZXN1bHRzIiwiTmV4dCBTdGVwcyJdOwoKbGV0IHZhbGlkQ29kZT1udWxsLGNvbnRhY3Q9e25hbWU6IiIsZW1haWw6IiIsY29tcGFueToiIixyb2xlOiIiLHBob25lOiIiLGNvdW50cnk6IiJ9LGFuc3dlcnM9e30sY3VyU2VjPTAsZW1haWxTZW50PWZhbHNlOwoKZnVuY3Rpb24gZ2V0U2VnbWVudChzKXtjb25zdCBwPShzL01BWF9TQ09SRSkqMTAwO3JldHVybiBwPj04MD8iYXVkYWNpb3VzIjpwPj02MD8ic2VyaW91cyI6cD49NDA/ImN1cmlvdXMiOnA+PTIwPyJjYXV0aW91cyI6Im9ibGl2aW91cyJ9CmZ1bmN0aW9uIGdldFNjb3JlKCl7bGV0IHM9MDtTRUNUSU9OUy5mb3JFYWNoKHNlYz0+c2VjLnFzLmZvckVhY2gocT0+e2NvbnN0IGE9YW5zd2Vyc1txLmlkXTtpZihhIT09dW5kZWZpbmVkKXMrPXEud1thXX0pKTtyZXR1cm4gc30KZnVuY3Rpb24gZ2V0U2VjU2NvcmVzKCl7cmV0dXJuIFNFQ1RJT05TLm1hcChzPT57bGV0IHNjPTAsbXg9MDtzLnFzLmZvckVhY2gocT0+e214Kz0zO2NvbnN0IGE9YW5zd2Vyc1txLmlkXTtpZihhIT09dW5kZWZpbmVkKXNjKz1xLndbYV19KTtyZXR1cm57Li4ucyxzYyxteCxwY3Q6TWF0aC5yb3VuZCgoc2MvbXgpKjEwMCl9fSl9CmZ1bmN0aW9uIGFuc3dlcmVkQ291bnQoKXtyZXR1cm4gT2JqZWN0LmtleXMoYW5zd2VycykubGVuZ3RofQoKLy8g4pSA4pSAIE5BVklHQVRJT04g4pSA4pSACmZ1bmN0aW9uIGdvVG9TdGFnZShuYW1lKXsKICBbJ2dhdGUnLCdjb250YWN0JywnYXNzZXNzJywncmVzdWx0cycsJ25leHRzdGVwcyddLmZvckVhY2gocz0+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YWdlLScrcykuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJykpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGFnZS0nK25hbWUpLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpOwogIHdpbmRvdy5zY3JvbGxUbygwLDApOwogIGNvbnN0IGhhc2hNYXA9e2dhdGU6J3dlbGNvbWUnLGNvbnRhY3Q6J2RldGFpbHMnLGFzc2VzczonYXNzZXNzJyxyZXN1bHRzOidyZXN1bHRzJyxuZXh0c3RlcHM6J25leHQnfTsKICBoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLG51bGwsJyMnK2hhc2hNYXBbbmFtZV0pOwogIGNvbnN0IHRpdGxlcz17Z2F0ZToiRW50ZXIgWW91ciBJbnZpdGF0aW9uIixjb250YWN0OiJZb3VyIERldGFpbHMiLGFzc2VzczoiQXNzZXNzbWVudCBpbiBQcm9ncmVzcyIscmVzdWx0czoiWW91ciBBbHRpdHVkZSBSZWFkaW5nIixuZXh0c3RlcHM6IllvdXIgTmV4dCBTdGVwIn07CiAgZG9jdW1lbnQudGl0bGU9KHRpdGxlc1tuYW1lXXx8IlZvcnRleCBBbHRpdHVkZSIpKyIgfCBUaGUgU292ZXJlaWduIEFyY2hpdGVjdHMiOwogIC8vIFJlbmRlciBzdGFnZS1zcGVjaWZpYyBjb250ZW50CiAgaWYobmFtZT09PSduZXh0c3RlcHMnKXtyZW5kZXJQcm9ncmVzcygncHJvZ3Jlc3MtbmV4dCcsNCk7cmVuZGVyTmV4dFN0ZXBzKCl9CiAgaWYobmFtZT09PSdyZXN1bHRzJyl7cmVuZGVyUHJvZ3Jlc3MoJ3Byb2dyZXNzLXJlc3VsdHMnLDMpfQp9CgovLyDilIDilIAgVElNRVIg4pSA4pSACmZ1bmN0aW9uIGluaXRUaW1lcigpewogIGNvbnN0IGRlYWRsaW5lPURhdGUubm93KCkrMyo4NjRlNSsxNCozNmU1OwogIGNvbnN0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lcicpOwogIGZ1bmN0aW9uIHRpY2soKXsKICAgIGNvbnN0IGRpZmY9TWF0aC5tYXgoMCxkZWFkbGluZS1EYXRlLm5vdygpKTsKICAgIGNvbnN0IGQ9TWF0aC5mbG9vcihkaWZmLzg2NGU1KSxoPU1hdGguZmxvb3IoKGRpZmYlODY0ZTUpLzM2ZTUpLG09TWF0aC5mbG9vcigoZGlmZiUzNmU1KS82ZTQpLHM9TWF0aC5mbG9vcigoZGlmZiU2ZTQpLzFlMyk7CiAgICBlbC5pbm5lckhUTUw9W1snZCcsJ0RBWVMnXSxbJ2gnLCdIUlMnXSxbJ20nLCdNSU4nXSxbJ3MnLCdTRUMnXV0ubWFwKChbayxsXSxpKT0+CiAgICAgIGA8ZGl2IGNsYXNzPSJ0aW1lci11bml0Ij48ZGl2IGNsYXNzPSJ0aW1lci1udW0iPiR7U3RyaW5nKFtkLGgsbSxzXVtpXSkucGFkU3RhcnQoMiwnMCcpfTwvZGl2PjxkaXYgY2xhc3M9InRpbWVyLWxibCI+JHtsfTwvZGl2PjwvZGl2PmAKICAgICkuam9pbignJyk7CiAgfQogIHRpY2soKTtzZXRJbnRlcnZhbCh0aWNrLDEwMDApOwp9CgovLyDilIDilIAgUFJPR1JFU1MgQkFSIOKUgOKUgApmdW5jdGlvbiByZW5kZXJQcm9ncmVzcyhjb250YWluZXJJZCxjdXJyZW50KXsKICBjb25zdCBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250YWluZXJJZCk7CiAgZWwuaW5uZXJIVE1MPWA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1saW5lIj48L2Rpdj48ZGl2IGNsYXNzPSJwcm9ncmVzcy1maWxsIiBzdHlsZT0id2lkdGg6JHsoY3VycmVudC8oc3RlcE5hbWVzLmxlbmd0aC0xKSkqMTAwfSUiPjwvZGl2PmAKICAgICtzdGVwTmFtZXMubWFwKChzLGkpPT5gPGRpdiBjbGFzcz0ic3RlcCI+PGRpdiBjbGFzcz0ic3RlcC1kb3QgJHtpPGN1cnJlbnQ/J2RvbmUnOmk9PT1jdXJyZW50PydjdXJyZW50JzoncGVuZGluZyd9Ij4ke2k8Y3VycmVudD8n4pyTJzppKzF9PC9kaXY+PGRpdiBjbGFzcz0ic3RlcC1sYWJlbCIgc3R5bGU9ImNvbG9yOiR7aTw9Y3VycmVudD8nIzFhMWEyZSc6JyM5OTknfTtmb250LXdlaWdodDoke2k9PT1jdXJyZW50PzcwMDo0MDB9Ij4ke3N9PC9kaXY+PC9kaXY+YCkuam9pbignJyk7Cn0KCi8vIOKUgOKUgCBCRU5FRklUUyDilIDilIAKZnVuY3Rpb24gaW5pdEJlbmVmaXRzKCl7CiAgY29uc3QgY29sb3JzPVsiI0Q0QUYzNyIsIiMyMjhCMjIiLCIjRkY2QjM1IiwiIzFFOTBGRiIsIiNDNDFFM0EiLCIjRDRBRjM3Il07CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmJlbmVmaXQtaXRlbScpLmZvckVhY2goKGVsLGkpPT57CiAgICBlbC5zdHlsZS5jc3NUZXh0PWBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6MTBweDtiYWNrZ3JvdW5kOnJnYmEoMjEyLDE3NSw1NSwuMDYpO3BhZGRpbmc6MTRweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgJHtjb2xvcnNbaV19O2ZvbnQtc2l6ZTouODhyZW07Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEuNWA7CiAgfSk7Cn0KCi8vIOKUgOKUgCBDT0RFIOKUgOKUgApmdW5jdGlvbiBzdWJtaXRDb2RlKCl7CiAgY29uc3QgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29kZS1pbnB1dCcpLnZhbHVlLnRyaW0oKS50b1VwcGVyQ2FzZSgpOwogIGlmKENPREVTW2NdKXsKICAgIHZhbGlkQ29kZT1jOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvZGUtZXJyb3InKS5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY2NlcHRlZC1jb2RlJykudGV4dENvbnRlbnQ9YzsKICAgIGdvVG9TdGFnZSgnY29udGFjdCcpOwogICAgcmVuZGVyUHJvZ3Jlc3MoJ3Byb2dyZXNzLWNvbnRhY3QnLDEpOwogICAgaW5pdENvbnRhY3RGb3JtKCk7CiAgfWVsc2V7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29kZS1lcnJvcicpLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpOwogIH0KfQpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29kZS1pbnB1dCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLGU9PntpZihlLmtleT09PSdFbnRlcicpc3VibWl0Q29kZSgpfSk7CgovLyDilIDilIAgQ09OVEFDVCDilIDilIAKZnVuY3Rpb24gaW5pdENvbnRhY3RGb3JtKCl7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpbS1wcmV2aWV3JykuaW5uZXJIVE1MPVNFQ1RJT05TLm1hcChzPT5gPGRpdiBzdHlsZT0icGFkZGluZzoxMnB4IDE0cHg7Ym9yZGVyOjJweCBzb2xpZCAjZTBlMGUwO2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXItYm90dG9tOjRweCBzb2xpZCAke3MuYWNjZW50fTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2JhY2tncm91bmQ6I2ZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxLjRyZW0iPiR7cy5pY29ufTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NjAwIj4ke3MudGl0bGV9PC9zcGFuPjwvZGl2PmApLmpvaW4oJycpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb3VudHJ5LWdyaWQnKS5pbm5lckhUTUw9Y291bnRyaWVzLm1hcChjPT5gPGRpdiBjbGFzcz0iY291bnRyeS1jYXJkIiBvbmNsaWNrPSJzZWxlY3RDb3VudHJ5KHRoaXMsJyR7Y30nKSI+PGRpdiBjbGFzcz0iZmxhZyI+JHtjLnNwbGl0KCcgJylbMF19PC9kaXY+PGRpdj4ke2Muc3BsaXQoJyAnKS5zbGljZSgxKS5qb2luKCcgJyl9PC9kaXY+PC9kaXY+YCkuam9pbignJyk7CiAgWydmLW5hbWUnLCdmLWVtYWlsJywnZi1jb21wYW55JywnZi1yb2xlJywnZi1waG9uZSddLmZvckVhY2goaWQ9PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsdmFsaWRhdGVDb250YWN0KSk7Cn0KZnVuY3Rpb24gc2VsZWN0Q291bnRyeShlbCxjKXtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY291bnRyeS1jYXJkJykuZm9yRWFjaChlPT5lLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJykpO2VsLmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGVkJyk7Y29udGFjdC5jb3VudHJ5PWM7dmFsaWRhdGVDb250YWN0KCl9CmZ1bmN0aW9uIHZhbGlkYXRlQ29udGFjdCgpewogIGNvbnRhY3QubmFtZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZi1uYW1lJykudmFsdWUudHJpbSgpOwogIGNvbnRhY3QuZW1haWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2YtZW1haWwnKS52YWx1ZS50cmltKCk7CiAgY29udGFjdC5jb21wYW55PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmLWNvbXBhbnknKS52YWx1ZS50cmltKCk7CiAgY29udGFjdC5yb2xlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmLXJvbGUnKS52YWx1ZS50cmltKCk7CiAgY29udGFjdC5waG9uZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZi1waG9uZScpLnZhbHVlLnRyaW0oKTsKICBjb25zdCB2YWxpZD1jb250YWN0Lm5hbWUmJmNvbnRhY3QuZW1haWwmJmNvbnRhY3QuY29tcGFueSYmY29udGFjdC5jb3VudHJ5OwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tYmVnaW4nKS5kaXNhYmxlZD0hdmFsaWQ7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0bi1iZWdpbicpLnN0eWxlLm9wYWNpdHk9dmFsaWQ/MTouNDsKfQoKLy8g4pSA4pSAIEFTU0VTU01FTlQg4pSA4pSACmZ1bmN0aW9uIHN0YXJ0QXNzZXNzbWVudCgpe2N1clNlYz0wO2dvVG9TdGFnZSgnYXNzZXNzJyk7cmVuZGVyUHJvZ3Jlc3MoJ3Byb2dyZXNzLWFzc2VzcycsMik7cmVuZGVyU2VjdGlvbigpfQoKZnVuY3Rpb24gcmVuZGVyU2VjdGlvbigpewogIGNvbnN0IHNlYz1TRUNUSU9OU1tjdXJTZWNdOwogIGNvbnN0IGJvcmRlclNpZGU9Y3VyU2VjJTI9PT0wPydib3JkZXItbGVmdCc6J2JvcmRlci1yaWdodCc7CiAgY29uc3QgY29sb3JzPVsiI0Q0QUYzNyIsIiMyMjhCMjIiLCIjRkY2QjM1IiwiIzFFOTBGRiIsIiNDNDFFM0EiLCIjRDRBRjM3IiwiIzIyOEIyMiJdOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWMtZG90cycpLmlubmVySFRNTD1TRUNUSU9OUy5tYXAoKHMsaSk9PgogICAgYDxkaXYgY2xhc3M9InNlYy1kb3QiIHN0eWxlPSJ3aWR0aDoke2k9PT1jdXJTZWM/Mjg6MTB9cHg7YmFja2dyb3VuZDoke2k8Y3VyU2VjPycjRDRBRjM3JzppPT09Y3VyU2VjP3MuYWNjZW50OicjZGRkJ307Y3Vyc29yOiR7aTxjdXJTZWM/J3BvaW50ZXInOidkZWZhdWx0J30iICR7aTxjdXJTZWM/YG9uY2xpY2s9Imp1bXBTZWMoJHtpfSkiYDonJ30+PC9kaXY+YAogICkuam9pbignJyk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlYy1udW0nKS50ZXh0Q29udGVudD1jdXJTZWMrMTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncS1hbnN3ZXJlZCcpLnRleHRDb250ZW50PWFuc3dlcmVkQ291bnQoKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncS1wcm9ncmVzcycpLnN0eWxlLndpZHRoPShhbnN3ZXJlZENvdW50KCkvMjEqMTAwKSsnJSc7CiAgY29uc3QgY2FyZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VjdGlvbi1jYXJkJyk7CiAgY2FyZC5zdHlsZS5jc3NUZXh0PWAke2JvcmRlclNpZGV9OjZweCBzb2xpZCAke2NvbG9yc1tjdXJTZWMlY29sb3JzLmxlbmd0aF19YDsKICBsZXQgaHRtbD1gPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTRweDttYXJnaW4tYm90dG9tOjIycHg7cGFkZGluZy1ib3R0b206MTRweDtib3JkZXItYm90dG9tOjNweCBzb2xpZCAke3NlYy5hY2NlbnR9Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCR7c2VjLmFjY2VudH0sJHtzZWMuYWNjZW50fWNjKTtib3JkZXItcmFkaXVzOjEycHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToxLjVyZW0iPiR7c2VjLmljb259PC9kaXY+CiAgICA8ZGl2PjxoMiBzdHlsZT0iZm9udC1zaXplOjEuNHJlbTttYXJnaW46MCI+JHtzZWMudGl0bGV9PC9oMj48cCBzdHlsZT0iZm9udC1zaXplOjEzcHg7Y29sb3I6Izg4ODttYXJnaW46MCI+JHtzZWMuc3VifTwvcD48L2Rpdj4KICA8L2Rpdj5gOwogIHNlYy5xcy5mb3JFYWNoKChxLHFpKT0+ewogICAgY29uc3QgYT1hbnN3ZXJzW3EuaWRdOwogICAgaHRtbCs9YDxkaXYgY2xhc3M9InEtY2FyZCAke2EhPT11bmRlZmluZWQ/J2Fuc3dlcmVkJzonJ30iPgogICAgICA8ZGl2IGNsYXNzPSJxLXRleHQiPjxzcGFuIGNsYXNzPSJxLW51bSI+JHtxaSsxfS48L3NwYW4+JHtxLnRleHR9PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InEtb3B0cyI+CiAgICAgICAgJHtbe3Y6MCxsYWJlbDoiWWVzIixjbHI6IiMyMjhCMjIifSx7djoxLGxhYmVsOiJQYXJ0aWFsbHkiLGNscjoiI0Q0QUYzNyJ9LHt2OjIsbGFiZWw6Ik5vIixjbHI6IiM4ODgifV0ubWFwKG9wdD0+CiAgICAgICAgICBgPGRpdiBjbGFzcz0icS1vcHQgJHthPT09b3B0LnY/J3NlbCc6Jyd9IiBzdHlsZT0iJHthPT09b3B0LnY/YGJvcmRlci1jb2xvcjoke29wdC5jbHJ9O2JhY2tncm91bmQ6JHtvcHQuY2xyfTEwO2NvbG9yOiR7b3B0LmNscn1gOicnfSIgb25jbGljaz0iYW5zd2VyKCcke3EuaWR9Jywke29wdC52fSkiPiR7b3B0LmxhYmVsfTwvZGl2PmAKICAgICAgICApLmpvaW4oJycpfQogICAgICA8L2Rpdj4KICAgIDwvZGl2PmA7CiAgfSk7CiAgY29uc3Qgc2VjRG9uZT1zZWMucXMuZXZlcnkocT0+YW5zd2Vyc1txLmlkXSE9PXVuZGVmaW5lZCk7CiAgY29uc3QgaXNMYXN0PWN1clNlYz09PVNFQ1RJT05TLmxlbmd0aC0xOwogIGh0bWwrPWA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWFyZ2luLXRvcDoyMnB4Ij4KICAgIDxidXR0b24gY2xhc3M9ImJ0bi1vdXRsaW5lIiAke2N1clNlYz09PTA/J2Rpc2FibGVkJzonJ30gc3R5bGU9IiR7Y3VyU2VjPT09MD8nb3BhY2l0eTouMyc6Jyd9IiBvbmNsaWNrPSJwcmV2U2VjKCkiPuKGkCBQcmV2aW91czwvYnV0dG9uPgogICAgPGJ1dHRvbiBjbGFzcz0iYnRuLWdyZWVuIiAke3NlY0RvbmU/Jyc6J2Rpc2FibGVkJ30gc3R5bGU9InBhZGRpbmc6MTZweCA0NHB4OyR7c2VjRG9uZT8nJzonb3BhY2l0eTouNCd9IiBvbmNsaWNrPSIke2lzTGFzdD8nc2hvd1Jlc3VsdHMoKSc6J25leHRTZWMoKSd9Ij4KICAgICAgJHtpc0xhc3Q/J1NlZSBNeSBSZXN1bHRzIOKGkic6J05leHQgU2VjdGlvbiDihpInfQogICAgPC9idXR0b24+CiAgPC9kaXY+YDsKICBjYXJkLmlubmVySFRNTD1odG1sOwp9CmZ1bmN0aW9uIGFuc3dlcihxaWQsdmFsKXthbnN3ZXJzW3FpZF09dmFsO3JlbmRlclNlY3Rpb24oKX0KZnVuY3Rpb24gbmV4dFNlYygpe2lmKGN1clNlYzxTRUNUSU9OUy5sZW5ndGgtMSl7Y3VyU2VjKys7cmVuZGVyU2VjdGlvbigpO3dpbmRvdy5zY3JvbGxUbygwLDIwMCl9fQpmdW5jdGlvbiBwcmV2U2VjKCl7aWYoY3VyU2VjPjApe2N1clNlYy0tO3JlbmRlclNlY3Rpb24oKTt3aW5kb3cuc2Nyb2xsVG8oMCwyMDApfX0KZnVuY3Rpb24ganVtcFNlYyhpKXtjdXJTZWM9aTtyZW5kZXJTZWN0aW9uKCk7d2luZG93LnNjcm9sbFRvKDAsMjAwKX0KCi8vIOKUgOKUgCBSRVNVTFRTIOKUgOKUgApmdW5jdGlvbiBzaG93UmVzdWx0cygpewogIGdvVG9TdGFnZSgncmVzdWx0cycpO3JlbmRlclByb2dyZXNzKCdwcm9ncmVzcy1yZXN1bHRzJywzKTsKICBjb25zdCBzY29yZT1nZXRTY29yZSgpLHBjdD1NYXRoLnJvdW5kKChzY29yZS9NQVhfU0NPUkUpKjEwMCksc2VnPWdldFNlZ21lbnQoc2NvcmUpLGluZm89U0VHTUVOVFNbc2VnXSxzZWNTY29yZXM9Z2V0U2VjU2NvcmVzKCk7CiAgaWYoIWVtYWlsU2VudCl7c2VuZENvbXBsZXRpb25BbGVydChzY29yZSxzZWcsc2VjU2NvcmVzKTtlbWFpbFNlbnQ9dHJ1ZTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZW1haWwtbm90aWYnKS5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKX0KICBsZXQgaHRtbD0nJzsKICBodG1sKz1gPGRpdiBjbGFzcz0iY2FyZCIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyO2JvcmRlci1sZWZ0OjZweCBzb2xpZCAke2luZm8uY29sb3J9O2JvcmRlci1yaWdodDo2cHggc29saWQgJHtpbmZvLmNvbG9yfSI+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzo0cHg7Y29sb3I6Izg4ODt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi1ib3R0b206MTBweCI+QXNzZXNzbWVudCBDb21wbGV0ZTwvZGl2PgogICAgPGgyIHN0eWxlPSJmb250LXNpemU6MnJlbTttYXJnaW46MCAwIDRweCI+WW91ciBBbHRpdHVkZSBSZWFkaW5nPC9oMj4KICAgIDxkaXYgc3R5bGU9IndpZHRoOjYwcHg7aGVpZ2h0OjNweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywke2luZm8uY29sb3J9LHRyYW5zcGFyZW50KTttYXJnaW46MTBweCBhdXRvIDIwcHgiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ic2NvcmUtcmluZyIgc3R5bGU9ImJhY2tncm91bmQ6Y29uaWMtZ3JhZGllbnQoJHtpbmZvLmNvbG9yfSAke3BjdH0lLCAjZWVlICR7cGN0fSUpIj4KICAgICAgPGRpdiBjbGFzcz0ic2NvcmUtaW5uZXIiPjxkaXYgY2xhc3M9InNjb3JlLW51bSIgc3R5bGU9ImNvbG9yOiR7aW5mby5jb2xvcn0iPiR7c2NvcmV9PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6I2FhYSI+b2YgJHtNQVhfU0NPUkV9PC9kaXY+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2JhY2tncm91bmQ6JHtpbmZvLmJnfTtib3JkZXI6MnB4IHNvbGlkICR7aW5mby5jb2xvcn0zMDtib3JkZXItcmFkaXVzOjUwcHg7cGFkZGluZzoxMHB4IDI0cHg7bWFyZ2luLWJvdHRvbTo2cHgiPgogICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjI0cHgiPiR7aW5mby5pY29ufTwvc3Bhbj4KICAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0Ij48ZGl2IHN0eWxlPSJmb250LXNpemU6MThweDtmb250LXdlaWdodDo4MDA7Y29sb3I6JHtpbmZvLmNvbG9yfTtsZXR0ZXItc3BhY2luZzouNXB4Ij4ke2luZm8ubGFiZWx9PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjExcHg7Y29sb3I6Izg4ODtmb250LXdlaWdodDo2MDAiPiR7aW5mby50YWd9PC9kaXY+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxwIHN0eWxlPSJjb2xvcjojNjY2O2xpbmUtaGVpZ2h0OjEuNzttYXgtd2lkdGg6NTYwcHg7bWFyZ2luOjEycHggYXV0byAwO2ZvbnQtc2l6ZToxNHB4Ij4ke2luZm8uZGVzY308L3A+CiAgPC9kaXY+YDsKICBodG1sKz1gPGRpdiBjbGFzcz0iY2FyZCBibC1nb2xkIj48ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+PGRpdiBjbGFzcz0iY2FyZC1pY29uIiBzdHlsZT0iYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNENEFGMzcsI2M5YTIyNykiPvCfk4o8L2Rpdj48aDMgc3R5bGU9ImZvbnQtc2l6ZToxLjJyZW07bWFyZ2luOjAiPkRpbWVuc2lvbiBCcmVha2Rvd248L2gzPjwvZGl2PmA7CiAgc2VjU2NvcmVzLmZvckVhY2gocz0+ewogICAgY29uc3QgY2xyPXMucGN0Pj02Nj8iIzIyOEIyMiI6cy5wY3Q+PTMzPyIjRDRBRjM3IjoiI0M0MUUzQSI7Y29uc3QgbGJsPXMucGN0Pj02Nj8iU3Ryb25nIjpzLnBjdD49MzM/IkV4cG9zZWQiOiJDcml0aWNhbCI7CiAgICBodG1sKz1gPGRpdiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxNnB4Ij4KICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tYm90dG9tOjZweCI+CiAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOiMzMzM7Zm9udC13ZWlnaHQ6NTAwIj4ke3MuaWNvbn0gJHtzLnRpdGxlfTwvc3Bhbj4KICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHgiPgogICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjoke2Nscn07YmFja2dyb3VuZDoke2Nscn0xMDtwYWRkaW5nOjNweCAxMHB4O2JvcmRlci1yYWRpdXM6NTBweCI+JHtsYmx9PC9zcGFuPgogICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjoke2Nscn07Zm9udC1mYW1pbHk6J0NvdXJpZXIgTmV3Jyxtb25vc3BhY2UiPiR7cy5wY3R9JTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImRpbS1iYXIiPjxkaXYgY2xhc3M9ImRpbS1maWxsIiBzdHlsZT0id2lkdGg6JHtzLnBjdH0lO2JhY2tncm91bmQ6JHtjbHJ9Ij48L2Rpdj48L2Rpdj4KICAgIDwvZGl2PmA7CiAgfSk7CiAgaHRtbCs9YDwvZGl2PmA7CiAgaHRtbCs9YDxkaXYgY2xhc3M9ImNhcmQiIHN0eWxlPSJib3JkZXItcmlnaHQ6NnB4IHNvbGlkICR7aW5mby5jb2xvcn07YmFja2dyb3VuZDoke2luZm8uYmd9Ij4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7bWFyZ2luLWJvdHRvbToxMnB4Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEuNXJlbSI+JHtpbmZvLmljb259PC9zcGFuPjxoMyBzdHlsZT0iZm9udC1zaXplOjEuMTVyZW07Y29sb3I6JHtpbmZvLmNvbG9yfTttYXJnaW46MCI+WW91ciBTdHJhdGVnaWMgUmVjb21tZW5kYXRpb248L2gzPjwvZGl2PgogICAgPHAgc3R5bGU9ImNvbG9yOiM0NDQ7bGluZS1oZWlnaHQ6MS44O2ZvbnQtc2l6ZToxNXB4O21hcmdpbjowIj4ke2luZm8ucmVjb308L3A+CiAgPC9kaXY+YDsKICBodG1sKz1gPGRpdiBjbGFzcz0iY2FyZCBibC1ncmVlbiI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O21hcmdpbi1ib3R0b206MTJweCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxLjRyZW0iPvCfjqQ8L3NwYW4+PGgzIHN0eWxlPSJmb250LXNpemU6MS4xcmVtO2NvbG9yOiMyMjhCMjI7bWFyZ2luOjAiPllvdXIgRnJlZSBFeHBlcnQgRmVhdHVyZTwvaDM+PC9kaXY+CiAgICA8cCBzdHlsZT0iY29sb3I6IzY2NjtsaW5lLWhlaWdodDoxLjc7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWJvdHRvbToxNHB4Ij5BcyBhIGRpYWdub3N0aWMgcGFydGljaXBhbnQsIHlvdSd2ZSBlYXJuZWQgYSBjb21wbGltZW50YXJ5IGV4cGVydCBmZWF0dXJlIGFydGljbGUgb24gb3VyIDI3LWNoYW5uZWwgQWZyaWNhIEZyb250bGluZSBNZWRpYSBuZXR3b3JrLiBPdXIgQUkgSm91cm5hbGlzdCBjb25kdWN0cyBhIDEwLW1pbnV0ZSBpbnRlcnZpZXcgYW5kIHRyYW5zZm9ybXMgeW91ciBleHBlcnRpc2UgaW50byBhIHByb2Zlc3Npb25hbGx5IHB1Ymxpc2hlZCBhcnRpY2xlLjwvcD4KICAgIDxwIHN0eWxlPSJjb2xvcjojMjI4QjIyO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW46MCI+JHtjb250YWN0Lm5hbWV9LCB3ZSdsbCBjb250YWN0IHlvdSBhdCAke2NvbnRhY3QuZW1haWx9IHdpdGhpbiA0OCBob3VycyB0byBzY2hlZHVsZSB5b3VyIGZlYXR1cmUuPC9wPgogIDwvZGl2PmA7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHMtY29udGVudCcpLmlubmVySFRNTD1odG1sOwp9CgovLyDilIDilIAgTkVYVCBTVEVQUyAoVEhBTksgWU9VIFBBR0UpIOKUgOKUgApmdW5jdGlvbiByZW5kZXJOZXh0U3RlcHMoKXsKICBjb25zdCBzY29yZT1nZXRTY29yZSgpLHBjdD1NYXRoLnJvdW5kKChzY29yZS9NQVhfU0NPUkUpKjEwMCksc2VnPWdldFNlZ21lbnQoc2NvcmUpLGluZm89U0VHTUVOVFNbc2VnXTsKICBjb25zdCByZWFkaW5lc3M9c2VnPT09ImF1ZGFjaW91cyJ8fHNlZz09PSJzZXJpb3VzIj8icmVhZHkgZm9yIGFjY2VsZXJhdGlvbiI6c2VnPT09ImN1cmlvdXMiPyJyZWFkeSB0byBleHBsb3JlIGVsZXZhdGlvbiI6InJlYWR5IGZvciB0aGUgcmlnaHQgZ3VpZGFuY2UiOwogIGNvbnN0IGFjdGlvbnM9WwogICAge2lkOiJib29rIixpY29uOiLwn5OFIix0aXRsZToiQm9vayBhIFN0cmF0ZWd5IFNlc3Npb24iLGFjY2VudDoiIzIyOEIyMiIsCiAgICAgIGJsdXJiOmBUaGFuayB5b3UgZm9yIGNvbXBsZXRpbmcgdGhlIFZvcnRleCBBbHRpdHVkZSBEaWFnbm9zdGljLCAke2NvbnRhY3QubmFtZX0uIFlvdXIgJHtpbmZvLmxhYmVsfSByZXN1bHQgdGVsbHMgdXMgeW91J3JlICR7cmVhZGluZXNzfS4gQSAxNS1taW51dGUgc3RyYXRlZ3kgY29udmVyc2F0aW9uIHdpbGwgbWFwIHlvdXIgc3BlY2lmaWMgcGF0aCBmb3J3YXJkIOKAlCBiYXNlZCBvbiB0aGUgZXhhY3QgZGltZW5zaW9ucyB3aGVyZSB5b3VyIGRpYWdub3N0aWMgcmV2ZWFsZWQgb3Bwb3J0dW5pdHkuYCwKICAgICAgY3RhOiJCb29rIE15IFN0cmF0ZWd5IFNlc3Npb24g4oaSIix1cmw6Imh0dHBzOi8vbWFya2V0aW5nYnJpbGx0aWFudGx5LmNvbS9BUi9iZXN0YWZyaWNhbWVldGdyZWV0In0sCiAgICB7aWQ6Im5vbWluYXRlIixpY29uOiLwn4yfIix0aXRsZToiTm9taW5hdGUgYSBMZWFkZXIgZm9yIGEgRmVhdHVyZSIsYWNjZW50OiIjRkY2QjM1IiwKICAgICAgYmx1cmI6YFRoYW5rIHlvdSBmb3IgdGFraW5nIHRoaXMgZGlhZ25vc3RpYyBzZXJpb3VzbHksICR7Y29udGFjdC5uYW1lfS4gWW91IGNsZWFybHkgdmFsdWUgc3RydWN0dXJhbCByZWFkaW5lc3Mg4oCUIGFuZCB0aGF0IHBlcnNwZWN0aXZlIGlzIHJhcmUuIEtub3cgc29tZW9uZSBlbHNlIHdobyBzaG91bGQgYmUgZXhhbWluZWQgYXQgdGhpcyBhbHRpdHVkZT8gTm9taW5hdGUgYSBmb3VuZGVyLCBleGVjdXRpdmUsIG9yIHRob3VnaHQgbGVhZGVyIGluIHlvdXIgbmV0d29yay4gSWYgdGhleSBxdWFsaWZ5LCB0aGV5J2xsIHJlY2VpdmUgdGhlIHNhbWUgZXhjbHVzaXZlIGV4cGVydCBmZWF0dXJlIG9wcG9ydHVuaXR5IHlvdSBlYXJuZWQgdG9kYXkuYCwKICAgICAgY3RhOiJOb21pbmF0ZSBTb21lb25lIEkgUmVzcGVjdCDihpIiLHVybDoiaHR0cHM6Ly9lYXN0LmFmcmljYWZyb250bGluZW5leHVzLm5ld3Mvd2VsY29tZSJ9LAogICAge2lkOiJkaXJlY3RvcnkiLGljb246IvCfk4IiLHRpdGxlOiJDbGFpbSBZb3VyIEZyZWUgRGlyZWN0b3J5IExpc3RpbmciLGFjY2VudDoiI0Q0QUYzNyIsCiAgICAgIGJsdXJiOmBUaGFuayB5b3UgZm9yIGludmVzdGluZyBpbiBob25lc3Qgc2VsZi1hc3Nlc3NtZW50LiBOb3cgbGV0J3MgbWFrZSBzdXJlIHRoZSB3b3JsZCBjYW4gZmluZCB5b3UuIEpvaW4gMSwwMDArIGJ1c2luZXNzZXMgYnVpbGRpbmcgdGhlaXIgZGlnaXRhbCBmb290cHJpbnQgaW4gdGhlIEVhc3QgQWZyaWNhIFRvcCBEaXJlY3Rvcnkg4oCUIGEgY3VyYXRlZCBuZXR3b3JrIG9mIHNvdmVyZWlnbiBidXNpbmVzc2VzIGFjcm9zcyB0aGUgY29udGluZW50LiBDb21wbGV0ZWx5IGZyZWUgZm9yIGRpYWdub3N0aWMgcGFydGljaXBhbnRzLmAsCiAgICAgIGN0YToiQ2xhaW0gTXkgRGlyZWN0b3J5IExpc3Rpbmcg4oaSIix1cmw6Imh0dHBzOi8vZWFzdGFmcmljYXRvcGRpcmVjdG9yeS5jb20vY29udGFjdC0yIn0sCiAgICB7aWQ6ImF1ZGl0IixpY29uOiLwn5SOIix0aXRsZToiUnVuIFlvdXIgRnJlZSBWaXNpYmlsaXR5IEF1ZGl0IixhY2NlbnQ6IiMxRTkwRkYiLAogICAgICBibHVyYjpgVGhhbmsgeW91IGZvciBsb29raW5nIGhvbmVzdGx5IGF0IHdoZXJlIHlvdXIgYnVzaW5lc3Mgc3RhbmRzLiBZb3VyIGRpYWdub3N0aWMgc2NvcmVkIHlvdXIgaW50ZXJuYWwgcmVhZGluZXNzIOKAlCBub3cgbGV0J3Mgc2VlIGhvdyB0aGUgb3V0c2lkZSB3b3JsZCBzZWVzIHlvdS4gUmVwR3JhZGVyIHNjYW5zIHlvdXIgb25saW5lIHByZXNlbmNlIGFuZCBkZWxpdmVycyBhIGJpcmQncy1leWUgdmlldyBvZiB5b3VyIHZpc2liaWxpdHksIHJlcHV0YXRpb24sIGFuZCBjb21wZXRpdGl2ZSBwb3NpdGlvbmluZy5gLAogICAgICBjdGE6IlJ1biBNeSBWaXNpYmlsaXR5IEF1ZGl0IOKGkiIsdXJsOiJodHRwczovL3RvcC5yZXBncmFkZXIuY29tIn0sCiAgICB7aWQ6Im5ld3Nyb29tIixpY29uOiLwn5OwIix0aXRsZToiRXhwbG9yZSBPdXIgTWVkaWEgTmV3c3Jvb20iLGFjY2VudDoiI0M0MUUzQSIsCiAgICAgIGJsdXJiOmBUaGFuayB5b3UgZm9yIGJlaW5nIHBhcnQgb2YgdGhpcyBtb3ZlbWVudCwgJHtjb250YWN0Lm5hbWV9LiBUaGUgQWZyaWNhIEZyb250bGluZSBNZWRpYSBOZXh1cyBpcyB3aGVyZSB5b3VyIGZlYXR1cmUgYXJ0aWNsZSB3aWxsIGxpdmUg4oCUIGFsb25nc2lkZSAzNCw1MDArIHB1Ymxpc2hlZCBzdG9yaWVzIGNvdmVyaW5nIGZpbnRlY2gsIHdvbWVuJ3MgZW50cmVwcmVuZXVyc2hpcCwgQUkgaW5ub3ZhdGlvbiwgdG91cmlzbSwgY3VsdHVyYWwgaGVyaXRhZ2UsIGFuZCBkaWdpdGFsIHNvdmVyZWlnbnR5IGFjcm9zcyB0aGUgY29udGluZW50LmAsCiAgICAgIGN0YToiRXhwbG9yZSB0aGUgTmV3c3Jvb20g4oaSIix1cmw6Imh0dHBzOi8vYWZyaWNhZnJvbnRsaW5lbmV4dXMubmV3cyJ9LAogICAge2lkOiJuZXdzbGV0dGVyIixpY29uOiLwn5OnIix0aXRsZToiSm9pbiBPdXIgSW50ZWxsaWdlbmNlIE5ld3NsZXR0ZXIiLGFjY2VudDoiIzIyOEIyMiIsCiAgICAgIGJsdXJiOmBUaGFuayB5b3UgZm9yIHRoaW5raW5nIGF0IGFsdGl0dWRlLiBNb3N0IGZvdW5kZXJzIG5ldmVyIHBhdXNlIHRvIGV4YW1pbmUgdGhlIHN0cnVjdHVyYWwgZm9yY2VzIHNoYXBpbmcgdGhlaXIgYnVzaW5lc3Mg4oCUIHlvdSBqdXN0IGRpZC4gT3VyIG5ld3NsZXR0ZXIgZGVsaXZlcnMgdGhlIHN0cmF0ZWdpYyBpbnNpZ2h0cywgcmVndWxhdG9yeSB1cGRhdGVzLCBhbmQgc3RydWN0dXJhbCBhbmFseXNpcyB0aGF0IHRoZSBWb3J0ZXggQWx0aXR1ZGUgZXhhbWluZXMg4oCUIGRpcmVjdGx5IHRvIHlvdXIgaW5ib3guIE5vIHNwYW0uIEp1c3QgY2xhcml0eSwgd2Vla2x5LmAsCiAgICAgIGN0YTpudWxsLGlzTmV3c2xldHRlcjp0cnVlfQogIF07CiAgbGV0IGh0bWw9Jyc7CiAgaHRtbCs9YDxkaXYgY2xhc3M9ImNhcmQiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItbGVmdDo2cHggc29saWQgI0Q0QUYzNztib3JkZXItcmlnaHQ6NnB4IHNvbGlkICMyMjhCMjI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYmEoMjEyLDE3NSw1NSwuMDQpLHJnYmEoMzQsMTM5LDM0LC4wNCkpIj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToyLjVyZW07bWFyZ2luLWJvdHRvbToxMnB4Ij7wn46JPC9kaXY+CiAgICA8aDIgc3R5bGU9ImZvbnQtc2l6ZToxLjhyZW07bWFyZ2luLWJvdHRvbTo4cHg7bGluZS1oZWlnaHQ6MS4yIj5UaGFuayBZb3UsICR7Y29udGFjdC5uYW1lfTwvaDI+CiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDo2MHB4O2hlaWdodDozcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsI0Q0QUYzNywjMjI4QjIyKTttYXJnaW46MTBweCBhdXRvIDE2cHg7Ym9yZGVyLXJhZGl1czoycHgiPjwvZGl2PgogICAgPHAgc3R5bGU9ImNvbG9yOiM2NjY7bGluZS1oZWlnaHQ6MS44O21heC13aWR0aDo1NjBweDttYXJnaW46MCBhdXRvIDEycHg7Zm9udC1zaXplOjE1cHgiPllvdXIgZGlhZ25vc3RpYyBpcyBjb21wbGV0ZS4gWW91ciBleHBlcnQgZmVhdHVyZSBpcyBiZWluZyBwcmVwYXJlZC48YnI+WW91ciByZXN1bHRzIGhhdmUgYmVlbiByZWNvcmRlZCBhbmQgb3VyIHRlYW0gaGFzIGJlZW4gbm90aWZpZWQuPC9wPgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtiYWNrZ3JvdW5kOiR7aW5mby5iZ307Ym9yZGVyOjJweCBzb2xpZCAke2luZm8uY29sb3J9MzA7Ym9yZGVyLXJhZGl1czo1MHB4O3BhZGRpbmc6OHB4IDIwcHg7bWFyZ2luOjhweCAwIj4KICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxOHB4Ij4ke2luZm8uaWNvbn08L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OjcwMDtjb2xvcjoke2luZm8uY29sb3J9Ij4ke2luZm8ubGFiZWx9PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjojODg4O2ZvbnQtc2l6ZToxM3B4Ij7igJQgJHtzY29yZX0vJHtNQVhfU0NPUkV9PC9zcGFuPgogICAgPC9kaXY+CiAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi10b3A6MThweDttYXJnaW4tYm90dG9tOjAiPldoYXQgd291bGQgeW91IGxpa2UgdG8gZG8gbmV4dD88L3A+CiAgICA8cCBzdHlsZT0iY29sb3I6Izg4ODtmb250LXNpemU6MTNweDttYXJnaW4tdG9wOjRweCI+U2VsZWN0IGFueSBvcHRpb24gYmVsb3cgdG8gY29udGludWUgeW91ciBqb3VybmV5PC9wPgogIDwvZGl2PmA7CiAgY29uc3QgYm9yZGVyU3R5bGVzPVsnYmwtZ29sZCcsJ2JyLWdyZWVuJywnYmwtb3JhbmdlJywnYnItYmx1ZScsJ2JsLXJlZCcsJ2JyLWdvbGQnXTsKICBhY3Rpb25zLmZvckVhY2goKGEsaSk9PnsKICAgIGh0bWwrPWA8ZGl2IGNsYXNzPSJhY3Rpb24tY2FyZCAke2JvcmRlclN0eWxlc1tpXX0iIHN0eWxlPSJib3JkZXItYm90dG9tOjVweCBzb2xpZCAke2EuYWNjZW50fSIgaWQ9ImFjdGlvbi0ke2EuaWR9IiBvbmNsaWNrPSJ0b2dnbGVBY3Rpb24oJyR7YS5pZH0nKSI+CiAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbi1oZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbi1pY29uIiBzdHlsZT0iYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCR7YS5hY2NlbnR9LCR7YS5hY2NlbnR9Y2MpIj4ke2EuaWNvbn08L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJmbGV4OjEiPjxoMyBzdHlsZT0iZm9udC1zaXplOjEuMXJlbTttYXJnaW46MCI+JHthLnRpdGxlfTwvaDM+PHAgaWQ9ImFjdGlvbi1oaW50LSR7YS5pZH0iIHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojOTk5O21hcmdpbjo0cHggMCAwIj5UYXAgdG8gbGVhcm4gbW9yZTwvcD48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb24tYXJyb3ciIGlkPSJhcnJvdy0ke2EuaWR9IiBzdHlsZT0iYmFja2dyb3VuZDojZjVmNWY1O2NvbG9yOiR7YS5hY2NlbnR9Ij7ilr48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbi1ib2R5IGhpZGRlbiIgaWQ9ImJvZHktJHthLmlkfSIgb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkiPgogICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbi1ibHVyYiIgc3R5bGU9ImJhY2tncm91bmQ6JHthLmFjY2VudH0wNjtib3JkZXI6MXB4IHNvbGlkICR7YS5hY2NlbnR9MTUiPgogICAgICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOiM1NTU7bGluZS1oZWlnaHQ6MS44O21hcmdpbjowIj4ke2EuYmx1cmJ9PC9wPgogICAgICAgIDwvZGl2PgogICAgICAgICR7YS5pc05ld3NsZXR0ZXI/CiAgICAgICAgICBgPGRpdiBpZD0ibmwtZm9ybSI+PGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDoxMHB4O2ZsZXgtd3JhcDp3cmFwIj48aW5wdXQgdHlwZT0iZW1haWwiIGlkPSJubC1lbWFpbCIgcGxhY2Vob2xkZXI9IkVudGVyIHlvdXIgZW1haWwgYWRkcmVzcyIgdmFsdWU9IiR7Y29udGFjdC5lbWFpbH0iIHN0eWxlPSJmbGV4OjE7bWluLXdpZHRoOjIwMHB4O2ZvbnQtc2l6ZToxNHB4Ij48YnV0dG9uIGNsYXNzPSJidG4tZ3JlZW4iIHN0eWxlPSJwYWRkaW5nOjE0cHggMjhweDtmb250LXNpemU6MTRweDt3aGl0ZS1zcGFjZTpub3dyYXAiIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdubC1mb3JtJykuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25sLWRvbmUnKS5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKSI+U3Vic2NyaWJlIOKGkjwvYnV0dG9uPjwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdiBpZD0ibmwtZG9uZSIgY2xhc3M9ImhpZGRlbiIgc3R5bGU9ImJhY2tncm91bmQ6cmdiYSgzNCwxMzksMzQsLjA2KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMzQsMTM5LDM0LC4yKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxNnB4IDIwcHg7dGV4dC1hbGlnbjpjZW50ZXIiPjxzcGFuIHN0eWxlPSJjb2xvcjojMjI4QjIyO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTVweCI+4pyTIFlvdSdyZSBzdWJzY3JpYmVkITwvc3Bhbj48c3BhbiBzdHlsZT0iZGlzcGxheTpibG9jaztjb2xvcjojNjY2O2ZvbnQtc2l6ZToxM3B4O21hcmdpbi10b3A6NnB4Ij5XZWxjb21lIHRvIHRoZSBhbHRpdHVkZS4gRmlyc3QgZGlzcGF0Y2ggYXJyaXZlcyB0aGlzIHdlZWsuPC9zcGFuPjwvZGl2PmAKICAgICAgICAgIDoKICAgICAgICAgIGA8YSBocmVmPSIke2EudXJsfSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgY2xhc3M9ImFjdGlvbi1idG4iIHN0eWxlPSJiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsJHthLmFjY2VudH0sJHthLmFjY2VudH1jYyk7Y29sb3I6JHthLmlkPT09J2RpcmVjdG9yeSc/JyMxYTFhMmUnOicjZmZmJ307Ym94LXNoYWRvdzowIDRweCAxNXB4ICR7YS5hY2NlbnR9MzAiPiR7YS5jdGF9PC9hPmAKICAgICAgICB9CiAgICAgIDwvZGl2PgogICAgPC9kaXY+YDsKICB9KTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmV4dHN0ZXBzLWNvbnRlbnQnKS5pbm5lckhUTUw9aHRtbDsKfQoKZnVuY3Rpb24gdG9nZ2xlQWN0aW9uKGlkKXsKICBjb25zdCBib2R5PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib2R5LScraWQpLGFycm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhcnJvdy0nK2lkKSxoaW50PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3Rpb24taGludC0nK2lkKSxjYXJkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3Rpb24tJytpZCk7CiAgY29uc3QgaXNPcGVuPSFib2R5LmNsYXNzTGlzdC5jb250YWlucygnaGlkZGVuJyk7CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmFjdGlvbi1ib2R5JykuZm9yRWFjaChiPT5iLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpKTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYWN0aW9uLWFycm93JykuZm9yRWFjaChhPT5hLnN0eWxlLnRyYW5zZm9ybT0ncm90YXRlKDApJyk7CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2lkXj0iYWN0aW9uLWhpbnQtIl0nKS5mb3JFYWNoKGg9PntpZihoKWgudGV4dENvbnRlbnQ9J1RhcCB0byBsZWFybiBtb3JlJ30pOwogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hY3Rpb24tY2FyZCcpLmZvckVhY2goYz0+Yy5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJykpOwogIGlmKCFpc09wZW4pe2JvZHkuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7YXJyb3cuc3R5bGUudHJhbnNmb3JtPSdyb3RhdGUoMTgwZGVnKSc7aWYoaGludCloaW50LnRleHRDb250ZW50PScnO2NhcmQuY2xhc3NMaXN0LmFkZCgnb3BlbicpfQp9CgovLyDilIDilIAgRU1BSUwgQUxFUlQg4pSA4pSACmFzeW5jIGZ1bmN0aW9uIHNlbmRDb21wbGV0aW9uQWxlcnQoc2NvcmUsc2VnLHNlY1Njb3Jlcyl7CiAgY29uc3QgZGltcz1zZWNTY29yZXMubWFwKHM9PmAke3MuaWNvbn0gJHtzLnRpdGxlfTogJHtzLnBjdH0lICgke3MucGN0Pj02Nj8iU3Ryb25nIjpzLnBjdD49MzM/IkV4cG9zZWQiOiJDcml0aWNhbCJ9KWApLmpvaW4oIiB8ICIpOwogIHRyeXsKICAgIGF3YWl0IGZldGNoKCdodHRwczovL2Zvcm1zdWJtaXQuY28vYWpheC8nK0FMRVJUX0VNQUlMLHsKICAgICAgbWV0aG9kOidQT1NUJyxoZWFkZXJzOnsnQ29udGVudC1UeXBlJzonYXBwbGljYXRpb24vanNvbicsQWNjZXB0OidhcHBsaWNhdGlvbi9qc29uJ30sCiAgICAgIGJvZHk6SlNPTi5zdHJpbmdpZnkoewogICAgICAgIF9zdWJqZWN0Oifwn6aFIFtBXSBWb3J0ZXggQ29tcGxldGU6ICcrY29udGFjdC5uYW1lKycg4oCUICcrU0VHTUVOVFNbc2VnXS5sYWJlbCsnICgnK01hdGgucm91bmQoKHNjb3JlL01BWF9TQ09SRSkqMTAwKSsnJSknLAogICAgICAgIF90ZW1wbGF0ZTondGFibGUnLAogICAgICAgICcwMV9OYW1lJzpjb250YWN0Lm5hbWUsJzAyX0VtYWlsJzpjb250YWN0LmVtYWlsLCcwM19Db21wYW55Jzpjb250YWN0LmNvbXBhbnksCiAgICAgICAgJzA0X1JvbGUnOmNvbnRhY3Qucm9sZXx8J+KAlCcsJzA1X1Bob25lJzpjb250YWN0LnBob25lfHwn4oCUJywnMDZfQ291bnRyeSc6Y29udGFjdC5jb3VudHJ5LAogICAgICAgICcwN19Db2RlJzp2YWxpZENvZGUsJzA4X1Njb3JlJzpzY29yZSsnLycrTUFYX1NDT1JFKycgKCcrTWF0aC5yb3VuZCgoc2NvcmUvTUFYX1NDT1JFKSoxMDApKyclKScsCiAgICAgICAgJzA5X1NlZ21lbnQnOlNFR01FTlRTW3NlZ10ubGFiZWwrJyDigJQgJytTRUdNRU5UU1tzZWddLnRhZywnMTBfRGltZW5zaW9ucyc6ZGltcywKICAgICAgICAnMTFfVGltZSc6bmV3IERhdGUoKS50b0lTT1N0cmluZygpCiAgICAgIH0pCiAgICB9KTsKICB9Y2F0Y2goZSl7fQp9CgovLyDilIDilIAgSU5JVCDilIDilIAKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCgpPT57aW5pdFRpbWVyKCk7aW5pdEJlbmVmaXRzKCl9KTsKPC9zY3JpcHQ+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.