{"id":346747,"date":"2026-09-01T14:21:02","date_gmt":"2026-09-01T17:21:02","guid":{"rendered":"https:\/\/mkt.estrategia.com\/cj\/?page_id=346747"},"modified":"2026-09-22T01:21:54","modified_gmt":"2026-09-22T04:21:54","slug":"assinaturas","status":"publish","type":"page","link":"https:\/\/mkt.estrategia.com\/cj\/assinaturas\/","title":{"rendered":"Assinaturas Jur\u00eddicas"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.16&#8243;][et_pb_row _builder_version=&#8221;4.16&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243;][et_pb_text _builder_version=&#8221;4.16&#8243;]<\/p>\n<div id=\"lp-host\"><\/div>\n<p><script id=\"lp-payload\" type=\"text\/plain\">PGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M\/ZmFtaWx5PVJhbGV3YXk6NDAwLDQwMGksNTAwLDUwMGksNzAwLDcwMGklN0NQb3BwaW5zOjQwMCw2MDAlN0NPcGVuK1NhbnM6NDAwLDcwMCw2MDAsNDAwaSw3MDBpIiByZWw9InN0eWxlc2hlZXQiPjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSI+PGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Qb3BwaW5zOndnaHRAMzAwOzQwMDs3MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPjxzdHlsZT4KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIE92ZXJyaWRlIGRvIHRlbWEgKERpdmkgKyBlc3RyYXRlZ2lhX2dyYXRpcykgcGFyYSBhIHJlcGxpY2EgZGEgTFAKICAgaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy8KCiAgIEVzdGUgYmxvY28gZW50cmEgREVOVFJPIGRlIHVtIDxzdHlsZT4gbm8gY29ycG8gZGEgcGFnZSwgQU5URVMgZG8gQ1NTCiAgIGRhIExQLiBDb21vIG8gPHN0eWxlPiBmaWNhIG5vIGJvZHksIGVsZSB2ZW0gZGVwb2lzIGRlIHRvZG8KICAgPGxpbms+LzxzdHlsZT4gZG8gdGVtYSBuYSBvcmRlbSBkbyBkb2N1bWVudG8gLS0gZW50YW8gdW0gc2VsZXRvciBkZQogICBFTEVNRU5UTyBhcXVpIGphIHZlbmNlIHVtIHNlbGV0b3IgZGUgZWxlbWVudG8gZG8gdGVtYS4KCiAgIFJlZ3JhIHByYXRpY2E6IHVzYXIgYSBNRU5PUiBlc3BlY2lmaWNpZGFkZSBxdWUgYWluZGEgdmVuY2UgbyB0ZW1hLAogICBwYXJhIHF1ZSBxdWFscXVlciByZWdyYSBkYSBwcm9wcmlhIExQIChxdWUgdmVtIGxvZ28gYWJhaXhvKSBjb250aW51ZQogICBnYW5oYW5kby4KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgovKiAtLS0tIGNyb21vIGRvIHRlbWEgLS0tLSAqLwouZXQtbC0taGVhZGVyLC5ldC1sLS1mb290ZXIsI21haW4taGVhZGVyLCN0b3AtaGVhZGVyLCNtYWluLWZvb3Rlciwjd3BhZG1pbmJhciwuZW50cnktdGl0bGUsI3NpZGViYXJ7ZGlzcGxheTpub25lIWltcG9ydGFudH0KI3BhZ2UtY29udGFpbmVyLCNldC1tYWluLWFyZWEsI21haW4tY29udGVudCwuZXRfYnVpbGRlcl9pbm5lcl9jb250ZW50LGFydGljbGUsLmVudHJ5LWNvbnRlbnQsLmV0X3BiX3NlY3Rpb24sLmV0X3BiX3JvdywuZXRfcGJfY29sdW1uLC5ldF9wYl90ZXh0LC5ldF9wYl90ZXh0X2lubmVye3BhZGRpbmc6MCFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50O21heC13aWR0aDpub25lIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDtmbG9hdDpub25lIWltcG9ydGFudDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IWltcG9ydGFudH0KLyogb3ZlcmZsb3cteCBubyBib2R5IHRlbSBxdWUgc2VyICdjbGlwJywgTkFPICdoaWRkZW4nOiAnaGlkZGVuJyBmYXogZG8gYm9keQogICB1bSBCRkMsIHF1ZSBwYXNzYSBhIFJFVEVSIGEgbWFyZ2VtIGluZmVyaW9yIGNvbGFwc2FkYSBkbyBmaW0gZGEgTFAgZQogICBhY3Jlc2NlbnRhIHVtYSBmYWl4YSBkZSAxMHB4IGFiYWl4byBkbyByb2RhcGUuICdjbGlwJyBjb3J0YSBvIG92ZXJmbG93CiAgIGhvcml6b250YWwgZG8gbWVzbW8gamVpdG8gc2VtIGNyaWFyIGNvbnRleHRvIGRlIGZvcm1hdGFjYW8uICovCmh0bWx7b3ZlcmZsb3cteDpoaWRkZW4haW1wb3J0YW50fQpib2R5e292ZXJmbG93LXg6Y2xpcCFpbXBvcnRhbnR9CgovKiBEaXZpIHBvZSAuZXRfcGJfcm93OjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7Y2xlYXI6Ym90aH0gY29tbwogICBjbGVhcmZpeC4gU2VuZG8gdW0gZmlsaG8gaW4tZmxvdyBubyBmaW0gZGEgcm93LCBlbGUgQVBSSVNJT05BIGEgbWFyZ2VtCiAgIGluZmVyaW9yIHF1ZSBhIExQIGNvbGFwc2EgcGFyYSBmb3JhIGRvICNscC1ob3N0IC0+IG1haXMgMTBweCBhYmFpeG8gZG8KICAgcm9kYXBlLiBDb20gYSBjb2x1bmEgZW0gZmxvYXQ6bm9uZSBvIGNsZWFyZml4IG5hbyBzZXJ2ZSBwYXJhIG5hZGEuICovCi5ldF9wYl9yb3c6YWZ0ZXJ7Y29udGVudDpub25lIWltcG9ydGFudH0KCi8qIERpdmk6IC5jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmV9IHZhemEgcGFyYSB0b2RvIC5jb250YWluZXIgZGEgTFAKICAgKG5hIG9yaWdlbSBlbGVzIHNhbyBzdGF0aWMpLiBTZWxldG9yIGRlIGNsYXNzZSBzaW1wbGVzLCBxdWUgdmVuY2UgbyB0ZW1hCiAgIHBvciBvcmRlbSBkZSBkb2N1bWVudG8gZSBwZXJkZSBwYXJhIHF1YWxxdWVyIHJlZ3JhIGRhIHByb3ByaWEgTFAuICovCi5jb250YWluZXJ7cG9zaXRpb246c3RhdGljfQoKLyogRGl2aSBtYXJjYSBvIG1vZHVsbyBjb20gLmV0X3BiX3RleHRfYWxpZ25fbGVmdDsgbmEgb3JpZ2VtIG8gdmFsb3IKICAgaGVyZGFkbyBlIG8gaW5pY2lhbCAoc3RhcnQpLiBTbyBvIHByb3ByaW8gI2xwLWhvc3QsIG9zIGRlc2NlbmRlbnRlcwogICBjb250aW51YW0gbWFuZGFuZG8gbm9zIHNldXMuICovCiNscC1ob3N0e3RleHQtYWxpZ246c3RhcnR9CgovKiBEaXZpOiBib2R5Om5vdCguZXQtdGIpICNtYWluLWNvbnRlbnQgLmNvbnRhaW5lcntwYWRkaW5nLXRvcDo1OHB4fSAoSUQgdmVuY2UgY2xhc3NlKSAqLwpib2R5Om5vdCguZXQtdGIpICNtYWluLWNvbnRlbnQgLmNvbnRhaW5lcixib2R5Om5vdCguZXQtdGItaGFzLWhlYWRlcikgI21haW4tY29udGVudCAuY29udGFpbmVye3BhZGRpbmctdG9wOjAhaW1wb3J0YW50fQojbWFpbi1jb250ZW50IC5jb250YWluZXI6YmVmb3Jle2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9CgovKiBlc3RyYXRlZ2lhX2dyYXRpcyB0cmF2YSAuY29udGFpbmVyIGVtIG1pbi13aWR0aCA2NDAvMzU1LzMxMCBubyBtb2JpbGUKICAgZSB1c2EgZGlzcGxheTppbmxpbmUtYmxvY2sgZW0gPD0zNjBweC4gQSBMUCBkZWZpbmUKICAgLmNvbnRhaW5lcjpub3QoLi1tb2JpbGUpOm5vdCguLWRlc2t0b3Ape3dpZHRoOjEzNTBweDttYXgtd2lkdGg6MTAwJX0gKi8KI2xwLWhvc3QgLmNvbnRhaW5lcnttaW4td2lkdGg6MCFpbXBvcnRhbnQ7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50O3RleHQtYWxpZ246aW5oZXJpdCFpbXBvcnRhbnR9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDozNjBweCl7I2xwLWhvc3QgLmNvbnRhaW5lcntkaXNwbGF5OmJsb2NrfX0KCi8qIG8gY2hpbGQgdGhlbWUgbWF0YSBvIGNsZWFyZml4IGRvIGJvb3RzdHJhcCwgcXVlIGEgZ3JhZGUgY29sLXNtLSogdXNhICovCiNscC1ob3N0IC5yb3c6YWZ0ZXIsI2xwLWhvc3QgLnJvdzpiZWZvcmV7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnQ7Y29udGVudDoiICIhaW1wb3J0YW50fQojbHAtaG9zdCAucm93OmFmdGVye2NsZWFyOmJvdGghaW1wb3J0YW50fQoKLyogRGl2aSBhbmltYS9vY3VsdGEgZWxlbWVudG9zIGNvbSB3YXlwb2ludCAqLwojbHAtaG9zdCAuZXQtd2F5cG9pbnQsI2xwLWhvc3QgLmV0X3BiX3Njcm9sbF9hbmltYXRpb257b3BhY2l0eToxIWltcG9ydGFudDt0cmFuc2Zvcm06bm9uZSFpbXBvcnRhbnR9CgovKiAtLS0tIHByb3ByaWVkYWRlcyBxdWUgbyB0ZW1hIGRlY2xhcmEgZSBvIGJvb3RzdHJhcC9MUCBuYW8sIGVudGFvIHZhemFtIC0tLS0KICAgTyBib290c3RyYXAuY3NzIGRhIExQIChsb2dvIGFiYWl4bywgbm8gbWVzbW8gPHN0eWxlPikgamEgcmVhc3NlcnRhCiAgIGJvZHkvaDEuLmg2L3AgZW0gZm9udC1zaXplLCBmb250LWZhbWlseSwgZm9udC13ZWlnaHQsIGNvbG9yIGUgbWFyZ2luLgogICBTb2JyYSBjb3JyaWdpciBvIHF1ZSBlbGUgTkFPIGRlY2xhcmEuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwoKLyogRGl2aTogaDEuLmg2e3BhZGRpbmctYm90dG9tOjEwcHh9IGUgcHtwYWRkaW5nLWJvdHRvbToxZW19ICovCmgxLGgyLGgzLGg0LGg1LGg2LHB7cGFkZGluZy1ib3R0b206MH0KCi8qIERpdmk6IGJvZHl7Zm9udC13ZWlnaHQ6NTAwfTsgbmEgb3JpZ2VtIG8gcGVzbyBoZXJkYWRvIGUgbyBub3JtYWwgKi8KYm9keXtmb250LXdlaWdodDo0MDB9CgovKiB0ZW1hOiBwe2ZvbnQtc2l6ZToxcmVtfSBlIDFyZW0gPSAxMHB4IHBvciBjYXVzYSBkbyBodG1se2ZvbnQtc2l6ZToxMHB4fQogICBkbyBib290c3RyYXAuIE5hIG9yaWdlbSBvIDxwPiBoZXJkYSBkbyBib2R5ICgxNHB4KS4gKi8KcHtmb250LXNpemU6aW5oZXJpdH0KCi8qIDxzdHlsZSBpZD0iZXN0cmF0ZWdpYS1jcml0aWNhbC1jc3MiPiBkbyBzaXRlOgogICAiYS5idXR0b24sIGJ1dHRvbiIgZ2FuaGEgZGlzcGxheS9wYWRkaW5nL2JhY2tncm91bmQvY29sb3IvYm9yZGVyLXJhZGl1cy4KICAgTnVtYSBMUCBjaGVpYSBkZSBhY2NvcmRpb24gKDxidXR0b24+IG5vIGNhcmQtaGVhZGVyKSBpc3NvIGVuZ29yZGEgY2FkYQogICBjYWJlY2FsaG8gZSBwaW50YSB0dWRvIGRlIGF6dWwuIFZvbHRhIGFvIGRlZmF1bHQgZG8gYnJvd3NlcjsgYXMgY2xhc3NlcwogICBkYSBwcm9wcmlhIExQLCBxdWUgdmVtIGRlcG9pcywgY29udGludWFtIG1hbmRhbmRvLiAqLwpidXR0b257cGFkZGluZzoxcHggNnB4O2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kOkJ1dHRvbkZhY2U7Y29sb3I6QnV0dG9uVGV4dDt0ZXh0LWRlY29yYXRpb246bm9uZX0KCi8qIERpdmk6ICIuZW50cnktY29udGVudCB1bC9vbCIgZ2FuaGEgbGluZS1oZWlnaHQ6MjZweCArIHBhZGRpbmcgMCAwIDIzcHggMWVtLAogICBlICIuZXRfcGJfdGV4dCB1bC9vbCIgZ2FuaGEgcGFkZGluZy1ib3R0b206MWVtLiBNZXNtYSBlc3BlY2lmaWNpZGFkZSBwYXJhCiAgIHZlbmNlciBwb3Igb3JkZW0gZGUgZG9jdW1lbnRvIHNlbSBhdHJvcGVsYXIgYXMgcmVncmFzIGRhIExQLiBPcyB2YWxvcmVzCiAgIHNhbyBvcyBxdWUgYSBvcmlnZW0gcHJvZHV6IChVQSBwYWRkaW5nLWlubGluZS1zdGFydCA0MHB4ICsgYm9vdHN0cmFwCiAgIHVse21hcmdpbjowIDAgMTBweH0pLiAqLwouZW50cnktY29udGVudCB1bCwuZW50cnktY29udGVudCBvbCwuZXQtbC0tYm9keSB1bCwuZXQtbC0tYm9keSBvbCwuZXRfcGJfdGV4dCB1bCwuZXRfcGJfdGV4dCBvbHtwYWRkaW5nOjAgMCAwIDQwcHg7bWFyZ2luOjAgMCAxMHB4O2xpbmUtaGVpZ2h0OmluaGVyaXR9Cg0KLyogYm9vdHN0cmFwLmNzcyAqLw0KDQovKiENCiAqIEJvb3RzdHJhcCB2My4zLjcgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKQ0KICogQ29weXJpZ2h0IDIwMTEtMjAxNiBUd2l0dGVyLCBJbmMuDQogKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKQ0KICovDQovKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovDQpodG1sIHsNCiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsNCiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7DQogICAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOw0KICB9DQogIGJvZHkgew0KICAgIG1hcmdpbjogMDsNCiAgfQ0KICBhcnRpY2xlLA0KICBhc2lkZSwNCiAgZGV0YWlscywNCiAgZmlnY2FwdGlvbiwNCiAgZmlndXJlLA0KICBmb290ZXIsDQogIGhlYWRlciwNCiAgaGdyb3VwLA0KICBtYWluLA0KICBtZW51LA0KICBuYXYsDQogIHNlY3Rpb24sDQogIHN1bW1hcnkgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogIGF1ZGlvLA0KICBjYW52YXMsDQogIHByb2dyZXNzLA0KICB2aWRlbyB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsNCiAgfQ0KICBhdWRpbzpub3QoW2NvbnRyb2xzXSkgew0KICAgIGRpc3BsYXk6IG5vbmU7DQogICAgaGVpZ2h0OiAwOw0KICB9DQogIFtoaWRkZW5dLA0KICB0ZW1wbGF0ZSB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KICBhIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICBhOmFjdGl2ZSwNCiAgYTpob3ZlciB7DQogICAgb3V0bGluZTogMDsNCiAgfQ0KICBhYmJyW3RpdGxlXSB7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsNCiAgfQ0KICBiLA0KICBzdHJvbmcgew0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICB9DQogIGRmbiB7DQogICAgZm9udC1zdHlsZTogaXRhbGljOw0KICB9DQogIGgxIHsNCiAgICBtYXJnaW46IC42N2VtIDA7DQogICAgZm9udC1zaXplOiAyZW07DQogIH0NCiAgbWFyayB7DQogICAgY29sb3I6ICMwMDA7DQogICAgYmFja2dyb3VuZDogI2ZmMDsNCiAgfQ0KICBzbWFsbCB7DQogICAgZm9udC1zaXplOiA4MCU7DQogIH0NCiAgc3ViLA0KICBzdXAgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBmb250LXNpemU6IDc1JTsNCiAgICBsaW5lLWhlaWdodDogMDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7DQogIH0NCiAgc3VwIHsNCiAgICB0b3A6IC0uNWVtOw0KICB9DQogIHN1YiB7DQogICAgYm90dG9tOiAtLjI1ZW07DQogIH0NCiAgaW1nIHsNCiAgICBib3JkZXI6IDA7DQogIH0NCiAgc3ZnOm5vdCg6cm9vdCkgew0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogIH0NCiAgZmlndXJlIHsNCiAgICBtYXJnaW46IDFlbSA0MHB4Ow0KICB9DQogIGhyIHsNCiAgICBoZWlnaHQ6IDA7DQogICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsNCiAgICAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94Ow0KICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7DQogIH0NCiAgcHJlIHsNCiAgICBvdmVyZmxvdzogYXV0bzsNCiAgfQ0KICBjb2RlLA0KICBrYmQsDQogIHByZSwNCiAgc2FtcCB7DQogICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOw0KICAgIGZvbnQtc2l6ZTogMWVtOw0KICB9DQogIGJ1dHRvbiwNCiAgaW5wdXQsDQogIG9wdGdyb3VwLA0KICBzZWxlY3QsDQogIHRleHRhcmVhIHsNCiAgICBtYXJnaW46IDA7DQogICAgZm9udDogaW5oZXJpdDsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgfQ0KICBidXR0b24gew0KICAgIG92ZXJmbG93OiB2aXNpYmxlOw0KICB9DQogIGJ1dHRvbiwNCiAgc2VsZWN0IHsNCiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsNCiAgfQ0KICBidXR0b24sDQogIGh0bWwgaW5wdXRbdHlwZT0iYnV0dG9uIl0sDQogIGlucHV0W3R5cGU9InJlc2V0Il0sDQogIGlucHV0W3R5cGU9InN1Ym1pdCJdIHsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogIH0NCiAgYnV0dG9uW2Rpc2FibGVkXSwNCiAgaHRtbCBpbnB1dFtkaXNhYmxlZF0gew0KICAgIGN1cnNvcjogZGVmYXVsdDsNCiAgfQ0KICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsDQogIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGJvcmRlcjogMDsNCiAgfQ0KICBpbnB1dCB7DQogICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsNCiAgfQ0KICBpbnB1dFt0eXBlPSJjaGVja2JveCJdLA0KICBpbnB1dFt0eXBlPSJyYWRpbyJdIHsNCiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICBwYWRkaW5nOiAwOw0KICB9DQogIGlucHV0W3R5cGU9Im51bWJlciJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLA0KICBpbnB1dFt0eXBlPSJudW1iZXIiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIGlucHV0W3R5cGU9InNlYXJjaCJdIHsNCiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94Ow0KICAgICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7DQogICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsNCiAgfQ0KICBpbnB1dFt0eXBlPSJzZWFyY2giXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwNCiAgaW5wdXRbdHlwZT0ic2VhcmNoIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24gew0KICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsNCiAgfQ0KICBmaWVsZHNldCB7DQogICAgcGFkZGluZzogLjM1ZW0gLjYyNWVtIC43NWVtOw0KICAgIG1hcmdpbjogMCAycHg7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDsNCiAgfQ0KICBsZWdlbmQgew0KICAgIHBhZGRpbmc6IDA7DQogICAgYm9yZGVyOiAwOw0KICB9DQogIHRleHRhcmVhIHsNCiAgICBvdmVyZmxvdzogYXV0bzsNCiAgfQ0KICBvcHRncm91cCB7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIH0NCiAgdGFibGUgew0KICAgIGJvcmRlci1zcGFjaW5nOiAwOw0KICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7DQogIH0NCiAgdGQsDQogIHRoIHsNCiAgICBwYWRkaW5nOiAwOw0KICB9DQogIC8qISBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MgKi8NCiAgQG1lZGlhIHByaW50IHsNCiAgICAqLA0KICAgICo6YmVmb3JlLA0KICAgICo6YWZ0ZXIgew0KICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsNCiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7DQogICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsNCiAgICB9DQogICAgYSwNCiAgICBhOnZpc2l0ZWQgew0KICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7DQogICAgfQ0KICAgIGFbaHJlZl06YWZ0ZXIgew0KICAgICAgY29udGVudDogIiAoIiBhdHRyKGhyZWYpICIpIjsNCiAgICB9DQogICAgYWJiclt0aXRsZV06YWZ0ZXIgew0KICAgICAgY29udGVudDogIiAoIiBhdHRyKHRpdGxlKSAiKSI7DQogICAgfQ0KICAgIGFbaHJlZl49IiMiXTphZnRlciwNCiAgICBhW2hyZWZePSJqYXZhc2NyaXB0OiJdOmFmdGVyIHsNCiAgICAgIGNvbnRlbnQ6ICIiOw0KICAgIH0NCiAgICBwcmUsDQogICAgYmxvY2txdW90ZSB7DQogICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5Ow0KICANCiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsNCiAgICB9DQogICAgdGhlYWQgew0KICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOw0KICAgIH0NCiAgICB0ciwNCiAgICBpbWcgew0KICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOw0KICAgIH0NCiAgICBpbWcgew0KICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIHAsDQogICAgaDIsDQogICAgaDMgew0KICAgICAgb3JwaGFuczogMzsNCiAgICAgIHdpZG93czogMzsNCiAgICB9DQogICAgaDIsDQogICAgaDMgew0KICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7DQogICAgfQ0KICAgIC5uYXZiYXIgew0KICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQogICAgLmJ0biA+IC5jYXJldCwNCiAgICAuZHJvcHVwID4gLmJ0biA+IC5jYXJldCB7DQogICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIC5sYWJlbCB7DQogICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOw0KICAgIH0NCiAgICAudGFibGUgew0KICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAudGFibGUgdGQsDQogICAgLnRhYmxlIHRoIHsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDsNCiAgICB9DQogICAgLnRhYmxlLWJvcmRlcmVkIHRoLA0KICAgIC50YWJsZS1ib3JkZXJlZCB0ZCB7DQogICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBmb250LWZhY2Ugew0KICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnOw0KICANCiAgICBzcmM6IHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9wbHVnaW5zL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIuZW90KTsNCiAgICBzcmM6IHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9wbHVnaW5zL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIuZW90PyNpZWZpeCkgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvcGx1Z2lucy9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksIHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9wbHVnaW5zL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIud29mZikgZm9ybWF0KCd3b2ZmJyksIHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9wbHVnaW5zL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9wbHVnaW5zL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIuc3ZnI2dseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhcikgZm9ybWF0KCdzdmcnKTsNCiAgfQ0KICAuZ2x5cGhpY29uIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgdG9wOiAxcHg7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgIGxpbmUtaGVpZ2h0OiAxOw0KICANCiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsNCiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICB9DQogIC5nbHlwaGljb24tYXN0ZXJpc2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDAwMmEiOw0KICB9DQogIC5nbHlwaGljb24tcGx1czpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcMDAyYiI7DQogIH0NCiAgLmdseXBoaWNvbi1ldXJvOmJlZm9yZSwNCiAgLmdseXBoaWNvbi1ldXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDIwYWMiOw0KICB9DQogIC5nbHlwaGljb24tbWludXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDIyMTIiOw0KICB9DQogIC5nbHlwaGljb24tY2xvdWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDI2MDEiOw0KICB9DQogIC5nbHlwaGljb24tZW52ZWxvcGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDI3MDkiOw0KICB9DQogIC5nbHlwaGljb24tcGVuY2lsOmJlZm9yZSB7DQogICAgY29udGVudDogIlwyNzBmIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWdsYXNzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDAxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLW11c2ljOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDAyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNlYXJjaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAwMyI7DQogIH0NCiAgLmdseXBoaWNvbi1oZWFydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAwNSI7DQogIH0NCiAgLmdseXBoaWNvbi1zdGFyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDA2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXN0YXItZW1wdHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMDciOw0KICB9DQogIC5nbHlwaGljb24tdXNlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAwOCI7DQogIH0NCiAgLmdseXBoaWNvbi1maWxtOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDA5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRoLWxhcmdlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDEwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDExIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRoLWxpc3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMTIiOw0KICB9DQogIC5nbHlwaGljb24tb2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMTMiOw0KICB9DQogIC5nbHlwaGljb24tcmVtb3ZlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDE0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXpvb20taW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMTUiOw0KICB9DQogIC5nbHlwaGljb24tem9vbS1vdXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMTYiOw0KICB9DQogIC5nbHlwaGljb24tb2ZmOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDE3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNpZ25hbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAxOCI7DQogIH0NCiAgLmdseXBoaWNvbi1jb2c6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMTkiOw0KICB9DQogIC5nbHlwaGljb24tdHJhc2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMjAiOw0KICB9DQogIC5nbHlwaGljb24taG9tZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAyMSI7DQogIH0NCiAgLmdseXBoaWNvbi1maWxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDIyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRpbWU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMjMiOw0KICB9DQogIC5nbHlwaGljb24tcm9hZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAyNCI7DQogIH0NCiAgLmdseXBoaWNvbi1kb3dubG9hZC1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMjUiOw0KICB9DQogIC5nbHlwaGljb24tZG93bmxvYWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMjYiOw0KICB9DQogIC5nbHlwaGljb24tdXBsb2FkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDI3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWluYm94OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDI4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBsYXktY2lyY2xlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDI5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJlcGVhdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAzMCI7DQogIH0NCiAgLmdseXBoaWNvbi1yZWZyZXNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDMxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxpc3QtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDMyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxvY2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMzMiOw0KICB9DQogIC5nbHlwaGljb24tZmxhZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAzNCI7DQogIH0NCiAgLmdseXBoaWNvbi1oZWFkcGhvbmVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDM1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXZvbHVtZS1vZmY6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMzYiOw0KICB9DQogIC5nbHlwaGljb24tdm9sdW1lLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMzciOw0KICB9DQogIC5nbHlwaGljb24tdm9sdW1lLXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDM4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXFyY29kZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAzOSI7DQogIH0NCiAgLmdseXBoaWNvbi1iYXJjb2RlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDQwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRhZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA0MSI7DQogIH0NCiAgLmdseXBoaWNvbi10YWdzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDQyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJvb2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNDMiOw0KICB9DQogIC5nbHlwaGljb24tYm9va21hcms6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNDQiOw0KICB9DQogIC5nbHlwaGljb24tcHJpbnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNDUiOw0KICB9DQogIC5nbHlwaGljb24tY2FtZXJhOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDQ2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZvbnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNDciOw0KICB9DQogIC5nbHlwaGljb24tYm9sZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA0OCI7DQogIH0NCiAgLmdseXBoaWNvbi1pdGFsaWM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNDkiOw0KICB9DQogIC5nbHlwaGljb24tdGV4dC1oZWlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNTAiOw0KICB9DQogIC5nbHlwaGljb24tdGV4dC13aWR0aDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA1MSI7DQogIH0NCiAgLmdseXBoaWNvbi1hbGlnbi1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDUyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWFsaWduLWNlbnRlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA1MyI7DQogIH0NCiAgLmdseXBoaWNvbi1hbGlnbi1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA1NCI7DQogIH0NCiAgLmdseXBoaWNvbi1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDU1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxpc3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNTYiOw0KICB9DQogIC5nbHlwaGljb24taW5kZW50LWxlZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNTciOw0KICB9DQogIC5nbHlwaGljb24taW5kZW50LXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDU4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZhY2V0aW1lLXZpZGVvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDU5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBpY3R1cmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNjAiOw0KICB9DQogIC5nbHlwaGljb24tbWFwLW1hcmtlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA2MiI7DQogIH0NCiAgLmdseXBoaWNvbi1hZGp1c3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNjMiOw0KICB9DQogIC5nbHlwaGljb24tdGludDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA2NCI7DQogIH0NCiAgLmdseXBoaWNvbi1lZGl0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDY1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNoYXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDY2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNoZWNrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDY3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1vdmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNjgiOw0KICB9DQogIC5nbHlwaGljb24tc3RlcC1iYWNrd2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA2OSI7DQogIH0NCiAgLmdseXBoaWNvbi1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDcwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJhY2t3YXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDcxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBsYXk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNzIiOw0KICB9DQogIC5nbHlwaGljb24tcGF1c2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNzMiOw0KICB9DQogIC5nbHlwaGljb24tc3RvcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA3NCI7DQogIH0NCiAgLmdseXBoaWNvbi1mb3J3YXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDc1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZhc3QtZm9yd2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA3NiI7DQogIH0NCiAgLmdseXBoaWNvbi1zdGVwLWZvcndhcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNzciOw0KICB9DQogIC5nbHlwaGljb24tZWplY3Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNzgiOw0KICB9DQogIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDc5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwODAiOw0KICB9DQogIC5nbHlwaGljb24tcGx1cy1zaWduOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDgxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1pbnVzLXNpZ246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwODIiOw0KICB9DQogIC5nbHlwaGljb24tcmVtb3ZlLXNpZ246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwODMiOw0KICB9DQogIC5nbHlwaGljb24tb2stc2lnbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA4NCI7DQogIH0NCiAgLmdseXBoaWNvbi1xdWVzdGlvbi1zaWduOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDg1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWluZm8tc2lnbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA4NiI7DQogIH0NCiAgLmdseXBoaWNvbi1zY3JlZW5zaG90OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDg3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwODgiOw0KICB9DQogIC5nbHlwaGljb24tb2stY2lyY2xlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDg5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJhbi1jaXJjbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwOTAiOw0KICB9DQogIC5nbHlwaGljb24tYXJyb3ctbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA5MSI7DQogIH0NCiAgLmdseXBoaWNvbi1hcnJvdy1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA5MiI7DQogIH0NCiAgLmdseXBoaWNvbi1hcnJvdy11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA5MyI7DQogIH0NCiAgLmdseXBoaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDk0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNoYXJlLWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA5NSI7DQogIH0NCiAgLmdseXBoaWNvbi1yZXNpemUtZnVsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA5NiI7DQogIH0NCiAgLmdseXBoaWNvbi1yZXNpemUtc21hbGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwOTciOw0KICB9DQogIC5nbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEwMSI7DQogIH0NCiAgLmdseXBoaWNvbi1naWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTAyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxlYWY6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMDMiOw0KICB9DQogIC5nbHlwaGljb24tZmlyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEwNCI7DQogIH0NCiAgLmdseXBoaWNvbi1leWUtb3BlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEwNSI7DQogIH0NCiAgLmdseXBoaWNvbi1leWUtY2xvc2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMDYiOw0KICB9DQogIC5nbHlwaGljb24td2FybmluZy1zaWduOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTA3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBsYW5lOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTA4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNhbGVuZGFyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTA5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJhbmRvbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTExMCI7DQogIH0NCiAgLmdseXBoaWNvbi1jb21tZW50OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTExIjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1hZ25ldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTExMiI7DQogIH0NCiAgLmdseXBoaWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTEzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTExNCI7DQogIH0NCiAgLmdseXBoaWNvbi1yZXR3ZWV0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTE1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNob3BwaW5nLWNhcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMTYiOw0KICB9DQogIC5nbHlwaGljb24tZm9sZGVyLWNsb3NlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTE3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZvbGRlci1vcGVuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTE4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJlc2l6ZS12ZXJ0aWNhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTExOSI7DQogIH0NCiAgLmdseXBoaWNvbi1yZXNpemUtaG9yaXpvbnRhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEyMCI7DQogIH0NCiAgLmdseXBoaWNvbi1oZGQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjEiOw0KICB9DQogIC5nbHlwaGljb24tYnVsbGhvcm46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjIiOw0KICB9DQogIC5nbHlwaGljb24tYmVsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEyMyI7DQogIH0NCiAgLmdseXBoaWNvbi1jZXJ0aWZpY2F0ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEyNCI7DQogIH0NCiAgLmdseXBoaWNvbi10aHVtYnMtdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjUiOw0KICB9DQogIC5nbHlwaGljb24tdGh1bWJzLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjYiOw0KICB9DQogIC5nbHlwaGljb24taGFuZC1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEyNyI7DQogIH0NCiAgLmdseXBoaWNvbi1oYW5kLWxlZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjgiOw0KICB9DQogIC5nbHlwaGljb24taGFuZC11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEyOSI7DQogIH0NCiAgLmdseXBoaWNvbi1oYW5kLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMzAiOw0KICB9DQogIC5nbHlwaGljb24tY2lyY2xlLWFycm93LXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTMxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTMyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEzMyI7DQogIH0NCiAgLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEzNCI7DQogIH0NCiAgLmdseXBoaWNvbi1nbG9iZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEzNSI7DQogIH0NCiAgLmdseXBoaWNvbi13cmVuY2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMzYiOw0KICB9DQogIC5nbHlwaGljb24tdGFza3M6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMzciOw0KICB9DQogIC5nbHlwaGljb24tZmlsdGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTM4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJyaWVmY2FzZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEzOSI7DQogIH0NCiAgLmdseXBoaWNvbi1mdWxsc2NyZWVuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTQwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWRhc2hib2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE0MSI7DQogIH0NCiAgLmdseXBoaWNvbi1wYXBlcmNsaXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNDIiOw0KICB9DQogIC5nbHlwaGljb24taGVhcnQtZW1wdHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNDMiOw0KICB9DQogIC5nbHlwaGljb24tbGluazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE0NCI7DQogIH0NCiAgLmdseXBoaWNvbi1waG9uZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE0NSI7DQogIH0NCiAgLmdseXBoaWNvbi1wdXNocGluOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTQ2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXVzZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE0OCI7DQogIH0NCiAgLmdseXBoaWNvbi1nYnA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNDkiOw0KICB9DQogIC5nbHlwaGljb24tc29ydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE1MCI7DQogIH0NCiAgLmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTUxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTUyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvcnQtYnktb3JkZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNTMiOw0KICB9DQogIC5nbHlwaGljb24tc29ydC1ieS1vcmRlci1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNTQiOw0KICB9DQogIC5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTU1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlcy1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNTYiOw0KICB9DQogIC5nbHlwaGljb24tdW5jaGVja2VkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTU3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWV4cGFuZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE1OCI7DQogIH0NCiAgLmdseXBoaWNvbi1jb2xsYXBzZS1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTU5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNvbGxhcHNlLXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTYwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxvZy1pbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE2MSI7DQogIH0NCiAgLmdseXBoaWNvbi1mbGFzaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE2MiI7DQogIH0NCiAgLmdseXBoaWNvbi1sb2ctb3V0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTYzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLW5ldy13aW5kb3c6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNjQiOw0KICB9DQogIC5nbHlwaGljb24tcmVjb3JkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTY1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNhdmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNjYiOw0KICB9DQogIC5nbHlwaGljb24tb3BlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE2NyI7DQogIH0NCiAgLmdseXBoaWNvbi1zYXZlZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE2OCI7DQogIH0NCiAgLmdseXBoaWNvbi1pbXBvcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNjkiOw0KICB9DQogIC5nbHlwaGljb24tZXhwb3J0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTcwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNlbmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzEiOw0KICB9DQogIC5nbHlwaGljb24tZmxvcHB5LWRpc2s6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzIiOw0KICB9DQogIC5nbHlwaGljb24tZmxvcHB5LXNhdmVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTczIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZsb3BweS1yZW1vdmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzQiOw0KICB9DQogIC5nbHlwaGljb24tZmxvcHB5LXNhdmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzUiOw0KICB9DQogIC5nbHlwaGljb24tZmxvcHB5LW9wZW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzYiOw0KICB9DQogIC5nbHlwaGljb24tY3JlZGl0LWNhcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzciOw0KICB9DQogIC5nbHlwaGljb24tdHJhbnNmZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzgiOw0KICB9DQogIC5nbHlwaGljb24tY3V0bGVyeTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE3OSI7DQogIH0NCiAgLmdseXBoaWNvbi1oZWFkZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODAiOw0KICB9DQogIC5nbHlwaGljb24tY29tcHJlc3NlZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE4MSI7DQogIH0NCiAgLmdseXBoaWNvbi1lYXJwaG9uZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE4MiI7DQogIH0NCiAgLmdseXBoaWNvbi1waG9uZS1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODMiOw0KICB9DQogIC5nbHlwaGljb24tdG93ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODQiOw0KICB9DQogIC5nbHlwaGljb24tc3RhdHM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODUiOw0KICB9DQogIC5nbHlwaGljb24tc2QtdmlkZW86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODYiOw0KICB9DQogIC5nbHlwaGljb24taGQtdmlkZW86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODciOw0KICB9DQogIC5nbHlwaGljb24tc3VidGl0bGVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTg4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvdW5kLXN0ZXJlbzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE4OSI7DQogIH0NCiAgLmdseXBoaWNvbi1zb3VuZC1kb2xieTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE5MCI7DQogIH0NCiAgLmdseXBoaWNvbi1zb3VuZC01LTE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxOTEiOw0KICB9DQogIC5nbHlwaGljb24tc291bmQtNi0xOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTkyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvdW5kLTctMTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE5MyI7DQogIH0NCiAgLmdseXBoaWNvbi1jb3B5cmlnaHQtbWFyazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE5NCI7DQogIH0NCiAgLmdseXBoaWNvbi1yZWdpc3RyYXRpb24tbWFyazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE5NSI7DQogIH0NCiAgLmdseXBoaWNvbi1jbG91ZC1kb3dubG9hZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE5NyI7DQogIH0NCiAgLmdseXBoaWNvbi1jbG91ZC11cGxvYWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxOTgiOw0KICB9DQogIC5nbHlwaGljb24tdHJlZS1jb25pZmVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTk5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRyZWUtZGVjaWR1b3VzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjAwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjAxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNhdmUtZmlsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIwMiI7DQogIH0NCiAgLmdseXBoaWNvbi1vcGVuLWZpbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMDMiOw0KICB9DQogIC5nbHlwaGljb24tbGV2ZWwtdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMDQiOw0KICB9DQogIC5nbHlwaGljb24tY29weTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIwNSI7DQogIH0NCiAgLmdseXBoaWNvbi1wYXN0ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIwNiI7DQogIH0NCiAgLmdseXBoaWNvbi1hbGVydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIwOSI7DQogIH0NCiAgLmdseXBoaWNvbi1lcXVhbGl6ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMTAiOw0KICB9DQogIC5nbHlwaGljb24ta2luZzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIxMSI7DQogIH0NCiAgLmdseXBoaWNvbi1xdWVlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIxMiI7DQogIH0NCiAgLmdseXBoaWNvbi1wYXduOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjEzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJpc2hvcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIxNCI7DQogIH0NCiAgLmdseXBoaWNvbi1rbmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMTUiOw0KICB9DQogIC5nbHlwaGljb24tYmFieS1mb3JtdWxhOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjE2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRlbnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDI2ZmEiOw0KICB9DQogIC5nbHlwaGljb24tYmxhY2tib2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIxOCI7DQogIH0NCiAgLmdseXBoaWNvbi1iZWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMTkiOw0KICB9DQogIC5nbHlwaGljb24tYXBwbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGY4ZmYiOw0KICB9DQogIC5nbHlwaGljb24tZXJhc2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMjEiOw0KICB9DQogIC5nbHlwaGljb24taG91cmdsYXNzOmJlZm9yZSB7DQogICAgY29udGVudDogIlwyMzFiIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxhbXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMjMiOw0KICB9DQogIC5nbHlwaGljb24tZHVwbGljYXRlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjI0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBpZ2d5LWJhbms6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMjUiOw0KICB9DQogIC5nbHlwaGljb24tc2Npc3NvcnM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMjYiOw0KICB9DQogIC5nbHlwaGljb24tYml0Y29pbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIyNyI7DQogIH0NCiAgLmdseXBoaWNvbi1idGM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMjciOw0KICB9DQogIC5nbHlwaGljb24teGJ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjI3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXllbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcMDBhNSI7DQogIH0NCiAgLmdseXBoaWNvbi1qcHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDAwYTUiOw0KICB9DQogIC5nbHlwaGljb24tcnVibGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDIwYmQiOw0KICB9DQogIC5nbHlwaGljb24tcnViOmJlZm9yZSB7DQogICAgY29udGVudDogIlwyMGJkIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNjYWxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjMwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWljZS1sb2xseTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIzMSI7DQogIH0NCiAgLmdseXBoaWNvbi1pY2UtbG9sbHktdGFzdGVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjMyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWVkdWNhdGlvbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIzMyI7DQogIH0NCiAgLmdseXBoaWNvbi1vcHRpb24taG9yaXpvbnRhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIzNCI7DQogIH0NCiAgLmdseXBoaWNvbi1vcHRpb24tdmVydGljYWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMzUiOw0KICB9DQogIC5nbHlwaGljb24tbWVudS1oYW1idXJnZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMzYiOw0KICB9DQogIC5nbHlwaGljb24tbW9kYWwtd2luZG93OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjM3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9pbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIzOCI7DQogIH0NCiAgLmdseXBoaWNvbi1ncmFpbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIzOSI7DQogIH0NCiAgLmdseXBoaWNvbi1zdW5nbGFzc2VzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjQwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRleHQtc2l6ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI0MSI7DQogIH0NCiAgLmdseXBoaWNvbi10ZXh0LWNvbG9yOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjQyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRleHQtYmFja2dyb3VuZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI0MyI7DQogIH0NCiAgLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tdG9wOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjQ0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ib3R0b206YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNDUiOw0KICB9DQogIC5nbHlwaGljb24tb2JqZWN0LWFsaWduLWhvcml6b250YWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNDYiOw0KICB9DQogIC5nbHlwaGljb24tb2JqZWN0LWFsaWduLWxlZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNDciOw0KICB9DQogIC5nbHlwaGljb24tb2JqZWN0LWFsaWduLXZlcnRpY2FsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjQ4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI0OSI7DQogIH0NCiAgLmdseXBoaWNvbi10cmlhbmdsZS1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI1MCI7DQogIH0NCiAgLmdseXBoaWNvbi10cmlhbmdsZS1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjUxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRyaWFuZ2xlLWJvdHRvbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI1MiI7DQogIH0NCiAgLmdseXBoaWNvbi10cmlhbmdsZS10b3A6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNTMiOw0KICB9DQogIC5nbHlwaGljb24tY29uc29sZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI1NCI7DQogIH0NCiAgLmdseXBoaWNvbi1zdXBlcnNjcmlwdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI1NSI7DQogIH0NCiAgLmdseXBoaWNvbi1zdWJzY3JpcHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNTYiOw0KICB9DQogIC5nbHlwaGljb24tbWVudS1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjU3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1lbnUtcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNTgiOw0KICB9DQogIC5nbHlwaGljb24tbWVudS1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjU5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1lbnUtdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNjAiOw0KICB9DQogICogew0KICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICB9DQogICo6YmVmb3JlLA0KICAqOmFmdGVyIHsNCiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgfQ0KICBodG1sIHsNCiAgICBmb250LXNpemU6IDEwcHg7DQogIA0KICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgfQ0KICBib2R5IHsNCiAgICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgY29sb3I6ICMzMzM7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgfQ0KICBpbnB1dCwNCiAgYnV0dG9uLA0KICBzZWxlY3QsDQogIHRleHRhcmVhIHsNCiAgICBmb250LWZhbWlseTogaW5oZXJpdDsNCiAgICBmb250LXNpemU6IGluaGVyaXQ7DQogICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7DQogIH0NCiAgYSB7DQogICAgY29sb3I6ICMzMzdhYjc7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICB9DQogIGE6aG92ZXIsDQogIGE6Zm9jdXMgew0KICAgIGNvbG9yOiAjMjM1MjdjOw0KICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KICB9DQogIGE6Zm9jdXMgew0KICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsNCiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsNCiAgfQ0KICBmaWd1cmUgew0KICAgIG1hcmdpbjogMDsNCiAgfQ0KICBpbWcgew0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIH0NCiAgLmltZy1yZXNwb25zaXZlLA0KICAudGh1bWJuYWlsID4gaW1nLA0KICAudGh1bWJuYWlsIGEgPiBpbWcsDQogIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtID4gaW1nLA0KICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSA+IGEgPiBpbWcgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG1heC13aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IGF1dG87DQogIH0NCiAgLmltZy1yb3VuZGVkIHsNCiAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogIH0NCiAgLmltZy10aHVtYm5haWwgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiBhdXRvOw0KICAgIHBhZGRpbmc6IDRweDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDsNCiAgICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7DQogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0Ow0KICB9DQogIC5pbWctY2lyY2xlIHsNCiAgICBib3JkZXItcmFkaXVzOiA1MCU7DQogIH0NCiAgaHIgew0KICAgIG1hcmdpbi10b3A6IDIwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICBib3JkZXI6IDA7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7DQogIH0NCiAgLnNyLW9ubHkgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB3aWR0aDogMXB4Ow0KICAgIGhlaWdodDogMXB4Ow0KICAgIHBhZGRpbmc6IDA7DQogICAgbWFyZ2luOiAtMXB4Ow0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXI6IDA7DQogIH0NCiAgLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwNCiAgLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHsNCiAgICBwb3NpdGlvbjogc3RhdGljOw0KICAgIHdpZHRoOiBhdXRvOw0KICAgIGhlaWdodDogYXV0bzsNCiAgICBtYXJnaW46IDA7DQogICAgb3ZlcmZsb3c6IHZpc2libGU7DQogICAgY2xpcDogYXV0bzsNCiAgfQ0KICBbcm9sZT0iYnV0dG9uIl0gew0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICBoMSwNCiAgaDIsDQogIGgzLA0KICBoNCwNCiAgaDUsDQogIGg2LA0KICAuaDEsDQogIC5oMiwNCiAgLmgzLA0KICAuaDQsDQogIC5oNSwNCiAgLmg2IHsNCiAgICBmb250LWZhbWlseTogaW5oZXJpdDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjE7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgaDEgc21hbGwsDQogIGgyIHNtYWxsLA0KICBoMyBzbWFsbCwNCiAgaDQgc21hbGwsDQogIGg1IHNtYWxsLA0KICBoNiBzbWFsbCwNCiAgLmgxIHNtYWxsLA0KICAuaDIgc21hbGwsDQogIC5oMyBzbWFsbCwNCiAgLmg0IHNtYWxsLA0KICAuaDUgc21hbGwsDQogIC5oNiBzbWFsbCwNCiAgaDEgLnNtYWxsLA0KICBoMiAuc21hbGwsDQogIGgzIC5zbWFsbCwNCiAgaDQgLnNtYWxsLA0KICBoNSAuc21hbGwsDQogIGg2IC5zbWFsbCwNCiAgLmgxIC5zbWFsbCwNCiAgLmgyIC5zbWFsbCwNCiAgLmgzIC5zbWFsbCwNCiAgLmg0IC5zbWFsbCwNCiAgLmg1IC5zbWFsbCwNCiAgLmg2IC5zbWFsbCB7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICBoMSwNCiAgLmgxLA0KICBoMiwNCiAgLmgyLA0KICBoMywNCiAgLmgzIHsNCiAgICBtYXJnaW4tdG9wOiAyMHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogIH0NCiAgaDEgc21hbGwsDQogIC5oMSBzbWFsbCwNCiAgaDIgc21hbGwsDQogIC5oMiBzbWFsbCwNCiAgaDMgc21hbGwsDQogIC5oMyBzbWFsbCwNCiAgaDEgLnNtYWxsLA0KICAuaDEgLnNtYWxsLA0KICBoMiAuc21hbGwsDQogIC5oMiAuc21hbGwsDQogIGgzIC5zbWFsbCwNCiAgLmgzIC5zbWFsbCB7DQogICAgZm9udC1zaXplOiA2NSU7DQogIH0NCiAgaDQsDQogIC5oNCwNCiAgaDUsDQogIC5oNSwNCiAgaDYsDQogIC5oNiB7DQogICAgbWFyZ2luLXRvcDogMTBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICB9DQogIGg0IHNtYWxsLA0KICAuaDQgc21hbGwsDQogIGg1IHNtYWxsLA0KICAuaDUgc21hbGwsDQogIGg2IHNtYWxsLA0KICAuaDYgc21hbGwsDQogIGg0IC5zbWFsbCwNCiAgLmg0IC5zbWFsbCwNCiAgaDUgLnNtYWxsLA0KICAuaDUgLnNtYWxsLA0KICBoNiAuc21hbGwsDQogIC5oNiAuc21hbGwgew0KICAgIGZvbnQtc2l6ZTogNzUlOw0KICB9DQogIGgxLA0KICAuaDEgew0KICAgIGZvbnQtc2l6ZTogMzZweDsNCiAgfQ0KICBoMiwNCiAgLmgyIHsNCiAgICBmb250LXNpemU6IDMwcHg7DQogIH0NCiAgaDMsDQogIC5oMyB7DQogICAgZm9udC1zaXplOiAyNHB4Ow0KICB9DQogIGg0LA0KICAuaDQgew0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgfQ0KICBoNSwNCiAgLmg1IHsNCiAgICBmb250LXNpemU6IDE0cHg7DQogIH0NCiAgaDYsDQogIC5oNiB7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICB9DQogIHAgew0KICAgIG1hcmdpbjogMCAwIDEwcHg7DQogIH0NCiAgLmxlYWQgew0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgbGluZS1oZWlnaHQ6IDEuNDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubGVhZCB7DQogICAgICBmb250LXNpemU6IDIxcHg7DQogICAgfQ0KICB9DQogIHNtYWxsLA0KICAuc21hbGwgew0KICAgIGZvbnQtc2l6ZTogODUlOw0KICB9DQogIG1hcmssDQogIC5tYXJrIHsNCiAgICBwYWRkaW5nOiAuMmVtOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7DQogIH0NCiAgLnRleHQtbGVmdCB7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgfQ0KICAudGV4dC1yaWdodCB7DQogICAgdGV4dC1hbGlnbjogcmlnaHQ7DQogIH0NCiAgLnRleHQtY2VudGVyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIH0NCiAgLnRleHQtanVzdGlmeSB7DQogICAgdGV4dC1hbGlnbjoganVzdGlmeTsNCiAgfQ0KICAudGV4dC1ub3dyYXAgew0KICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogIH0NCiAgLnRleHQtbG93ZXJjYXNlIHsNCiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOw0KICB9DQogIC50ZXh0LXVwcGVyY2FzZSB7DQogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgfQ0KICAudGV4dC1jYXBpdGFsaXplIHsNCiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsNCiAgfQ0KICAudGV4dC1tdXRlZCB7DQogICAgY29sb3I6ICM3Nzc7DQogIH0NCiAgLnRleHQtcHJpbWFyeSB7DQogICAgY29sb3I6ICMzMzdhYjc7DQogIH0NCiAgYS50ZXh0LXByaW1hcnk6aG92ZXIsDQogIGEudGV4dC1wcmltYXJ5OmZvY3VzIHsNCiAgICBjb2xvcjogIzI4NjA5MDsNCiAgfQ0KICAudGV4dC1zdWNjZXNzIHsNCiAgICBjb2xvcjogIzNjNzYzZDsNCiAgfQ0KICBhLnRleHQtc3VjY2Vzczpob3ZlciwNCiAgYS50ZXh0LXN1Y2Nlc3M6Zm9jdXMgew0KICAgIGNvbG9yOiAjMmI1NDJjOw0KICB9DQogIC50ZXh0LWluZm8gew0KICAgIGNvbG9yOiAjMzE3MDhmOw0KICB9DQogIGEudGV4dC1pbmZvOmhvdmVyLA0KICBhLnRleHQtaW5mbzpmb2N1cyB7DQogICAgY29sb3I6ICMyNDUyNjk7DQogIH0NCiAgLnRleHQtd2FybmluZyB7DQogICAgY29sb3I6ICM4YTZkM2I7DQogIH0NCiAgYS50ZXh0LXdhcm5pbmc6aG92ZXIsDQogIGEudGV4dC13YXJuaW5nOmZvY3VzIHsNCiAgICBjb2xvcjogIzY2NTEyYzsNCiAgfQ0KICAudGV4dC1kYW5nZXIgew0KICAgIGNvbG9yOiAjYTk0NDQyOw0KICB9DQogIGEudGV4dC1kYW5nZXI6aG92ZXIsDQogIGEudGV4dC1kYW5nZXI6Zm9jdXMgew0KICAgIGNvbG9yOiAjODQzNTM0Ow0KICB9DQogIC5iZy1wcmltYXJ5IHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIGEuYmctcHJpbWFyeTpob3ZlciwNCiAgYS5iZy1wcmltYXJ5OmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjg2MDkwOw0KICB9DQogIC5iZy1zdWNjZXNzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4Ow0KICB9DQogIGEuYmctc3VjY2Vzczpob3ZlciwNCiAgYS5iZy1zdWNjZXNzOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzFlMmIzOw0KICB9DQogIC5iZy1pbmZvIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3Ow0KICB9DQogIGEuYmctaW5mbzpob3ZlciwNCiAgYS5iZy1pbmZvOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWZkOWVlOw0KICB9DQogIC5iZy13YXJuaW5nIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOw0KICB9DQogIGEuYmctd2FybmluZzpob3ZlciwNCiAgYS5iZy13YXJuaW5nOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlY2I1Ow0KICB9DQogIC5iZy1kYW5nZXIgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7DQogIH0NCiAgYS5iZy1kYW5nZXI6aG92ZXIsDQogIGEuYmctZGFuZ2VyOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRiOWI5Ow0KICB9DQogIC5wYWdlLWhlYWRlciB7DQogICAgcGFkZGluZy1ib3R0b206IDlweDsNCiAgICBtYXJnaW46IDQwcHggMCAyMHB4Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOw0KICB9DQogIHVsLA0KICBvbCB7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICB9DQogIHVsIHVsLA0KICBvbCB1bCwNCiAgdWwgb2wsDQogIG9sIG9sIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICB9DQogIC5saXN0LXVuc3R5bGVkIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgfQ0KICAubGlzdC1pbmxpbmUgew0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBtYXJnaW4tbGVmdDogLTVweDsNCiAgICBsaXN0LXN0eWxlOiBub25lOw0KICB9DQogIC5saXN0LWlubGluZSA+IGxpIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgcGFkZGluZy1yaWdodDogNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogNXB4Ow0KICB9DQogIGRsIHsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogIH0NCiAgZHQsDQogIGRkIHsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgfQ0KICBkdCB7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIH0NCiAgZGQgew0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5kbC1ob3Jpem9udGFsIGR0IHsNCiAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgd2lkdGg6IDE2MHB4Ow0KICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICAgIGNsZWFyOiBsZWZ0Ow0KICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7DQogICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogICAgfQ0KICAgIC5kbC1ob3Jpem9udGFsIGRkIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAxODBweDsNCiAgICB9DQogIH0NCiAgYWJiclt0aXRsZV0sDQogIGFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0gew0KICAgIGN1cnNvcjogaGVscDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM3Nzc7DQogIH0NCiAgLmluaXRpYWxpc20gew0KICAgIGZvbnQtc2l6ZTogOTAlOw0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogIH0NCiAgYmxvY2txdW90ZSB7DQogICAgcGFkZGluZzogMTBweCAyMHB4Ow0KICAgIG1hcmdpbjogMCAwIDIwcHg7DQogICAgZm9udC1zaXplOiAxNy41cHg7DQogICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZWVlOw0KICB9DQogIGJsb2NrcXVvdGUgcDpsYXN0LWNoaWxkLA0KICBibG9ja3F1b3RlIHVsOmxhc3QtY2hpbGQsDQogIGJsb2NrcXVvdGUgb2w6bGFzdC1jaGlsZCB7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgfQ0KICBibG9ja3F1b3RlIGZvb3RlciwNCiAgYmxvY2txdW90ZSBzbWFsbCwNCiAgYmxvY2txdW90ZSAuc21hbGwgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGZvbnQtc2l6ZTogODAlOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICAgIGNvbG9yOiAjNzc3Ow0KICB9DQogIGJsb2NrcXVvdGUgZm9vdGVyOmJlZm9yZSwNCiAgYmxvY2txdW90ZSBzbWFsbDpiZWZvcmUsDQogIGJsb2NrcXVvdGUgLnNtYWxsOmJlZm9yZSB7DQogICAgY29udGVudDogJ1wyMDE0IFwwMEEwJzsNCiAgfQ0KICAuYmxvY2txdW90ZS1yZXZlcnNlLA0KICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgew0KICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICNlZWU7DQogICAgYm9yZGVyLWxlZnQ6IDA7DQogIH0NCiAgLmJsb2NrcXVvdGUtcmV2ZXJzZSBmb290ZXI6YmVmb3JlLA0KICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgZm9vdGVyOmJlZm9yZSwNCiAgLmJsb2NrcXVvdGUtcmV2ZXJzZSBzbWFsbDpiZWZvcmUsDQogIGJsb2NrcXVvdGUucHVsbC1yaWdodCBzbWFsbDpiZWZvcmUsDQogIC5ibG9ja3F1b3RlLXJldmVyc2UgLnNtYWxsOmJlZm9yZSwNCiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IC5zbWFsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICcnOw0KICB9DQogIC5ibG9ja3F1b3RlLXJldmVyc2UgZm9vdGVyOmFmdGVyLA0KICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgZm9vdGVyOmFmdGVyLA0KICAuYmxvY2txdW90ZS1yZXZlcnNlIHNtYWxsOmFmdGVyLA0KICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgc21hbGw6YWZ0ZXIsDQogIC5ibG9ja3F1b3RlLXJldmVyc2UgLnNtYWxsOmFmdGVyLA0KICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgLnNtYWxsOmFmdGVyIHsNCiAgICBjb250ZW50OiAnXDAwQTAgXDIwMTQnOw0KICB9DQogIGFkZHJlc3Mgew0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICB9DQogIGNvZGUsDQogIGtiZCwNCiAgcHJlLA0KICBzYW1wIHsNCiAgICBmb250LWZhbWlseTogTWVubG8sIE1vbmFjbywgQ29uc29sYXMsICJDb3VyaWVyIE5ldyIsIG1vbm9zcGFjZTsNCiAgfQ0KICBjb2RlIHsNCiAgICBwYWRkaW5nOiAycHggNHB4Ow0KICAgIGZvbnQtc2l6ZTogOTAlOw0KICAgIGNvbG9yOiAjYzcyNTRlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWYyZjQ7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIGtiZCB7DQogICAgcGFkZGluZzogMnB4IDRweDsNCiAgICBmb250LXNpemU6IDkwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOw0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgLjI1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgLjI1KTsNCiAgfQ0KICBrYmQga2JkIHsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGZvbnQtc2l6ZTogMTAwJTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7DQogICAgICAgICAgICBib3gtc2hhZG93OiBub25lOw0KICB9DQogIHByZSB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgcGFkZGluZzogOS41cHg7DQogICAgbWFyZ2luOiAwIDAgMTBweDsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgY29sb3I6ICMzMzM7DQogICAgd29yZC1icmVhazogYnJlYWstYWxsOw0KICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIHByZSBjb2RlIHsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXJhZGl1czogMDsNCiAgfQ0KICAucHJlLXNjcm9sbGFibGUgew0KICAgIG1heC1oZWlnaHQ6IDM0MHB4Ow0KICAgIG92ZXJmbG93LXk6IHNjcm9sbDsNCiAgfQ0KICAuY29udGFpbmVyIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmNvbnRhaW5lciB7DQogICAgICB3aWR0aDogNzUwcHg7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAgIC5jb250YWluZXIgew0KICAgICAgd2lkdGg6IDk3MHB4Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7DQogICAgLmNvbnRhaW5lciB7DQogICAgICB3aWR0aDogMTE3MHB4Ow0KICAgIH0NCiAgfQ0KICAuY29udGFpbmVyLWZsdWlkIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogIH0NCiAgLnJvdyB7DQogICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsNCiAgICBtYXJnaW4tbGVmdDogLTE1cHg7DQogIH0NCiAgLmNvbC14cy0xLCAuY29sLXNtLTEsIC5jb2wtbWQtMSwgLmNvbC1sZy0xLCAuY29sLXhzLTIsIC5jb2wtc20tMiwgLmNvbC1tZC0yLCAuY29sLWxnLTIsIC5jb2wteHMtMywgLmNvbC1zbS0zLCAuY29sLW1kLTMsIC5jb2wtbGctMywgLmNvbC14cy00LCAuY29sLXNtLTQsIC5jb2wtbWQtNCwgLmNvbC1sZy00LCAuY29sLXhzLTUsIC5jb2wtc20tNSwgLmNvbC1tZC01LCAuY29sLWxnLTUsIC5jb2wteHMtNiwgLmNvbC1zbS02LCAuY29sLW1kLTYsIC5jb2wtbGctNiwgLmNvbC14cy03LCAuY29sLXNtLTcsIC5jb2wtbWQtNywgLmNvbC1sZy03LCAuY29sLXhzLTgsIC5jb2wtc20tOCwgLmNvbC1tZC04LCAuY29sLWxnLTgsIC5jb2wteHMtOSwgLmNvbC1zbS05LCAuY29sLW1kLTksIC5jb2wtbGctOSwgLmNvbC14cy0xMCwgLmNvbC1zbS0xMCwgLmNvbC1tZC0xMCwgLmNvbC1sZy0xMCwgLmNvbC14cy0xMSwgLmNvbC1zbS0xMSwgLmNvbC1tZC0xMSwgLmNvbC1sZy0xMSwgLmNvbC14cy0xMiwgLmNvbC1zbS0xMiwgLmNvbC1tZC0xMiwgLmNvbC1sZy0xMiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG1pbi1oZWlnaHQ6IDFweDsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgfQ0KICAuY29sLXhzLTEsIC5jb2wteHMtMiwgLmNvbC14cy0zLCAuY29sLXhzLTQsIC5jb2wteHMtNSwgLmNvbC14cy02LCAuY29sLXhzLTcsIC5jb2wteHMtOCwgLmNvbC14cy05LCAuY29sLXhzLTEwLCAuY29sLXhzLTExLCAuY29sLXhzLTEyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgfQ0KICAuY29sLXhzLTEyIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgfQ0KICAuY29sLXhzLTExIHsNCiAgICB3aWR0aDogOTEuNjY2NjY2NjclOw0KICB9DQogIC5jb2wteHMtMTAgew0KICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy05IHsNCiAgICB3aWR0aDogNzUlOw0KICB9DQogIC5jb2wteHMtOCB7DQogICAgd2lkdGg6IDY2LjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLTcgew0KICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy02IHsNCiAgICB3aWR0aDogNTAlOw0KICB9DQogIC5jb2wteHMtNSB7DQogICAgd2lkdGg6IDQxLjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLTQgew0KICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy0zIHsNCiAgICB3aWR0aDogMjUlOw0KICB9DQogIC5jb2wteHMtMiB7DQogICAgd2lkdGg6IDE2LjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLTEgew0KICAgIHdpZHRoOiA4LjMzMzMzMzMzJTsNCiAgfQ0KICAuY29sLXhzLXB1bGwtMTIgew0KICAgIHJpZ2h0OiAxMDAlOw0KICB9DQogIC5jb2wteHMtcHVsbC0xMSB7DQogICAgcmlnaHQ6IDkxLjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLXB1bGwtMTAgew0KICAgIHJpZ2h0OiA4My4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTkgew0KICAgIHJpZ2h0OiA3NSU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTggew0KICAgIHJpZ2h0OiA2Ni42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTcgew0KICAgIHJpZ2h0OiA1OC4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTYgew0KICAgIHJpZ2h0OiA1MCU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTUgew0KICAgIHJpZ2h0OiA0MS42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTQgew0KICAgIHJpZ2h0OiAzMy4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTMgew0KICAgIHJpZ2h0OiAyNSU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTIgew0KICAgIHJpZ2h0OiAxNi42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTEgew0KICAgIHJpZ2h0OiA4LjMzMzMzMzMzJTsNCiAgfQ0KICAuY29sLXhzLXB1bGwtMCB7DQogICAgcmlnaHQ6IGF1dG87DQogIH0NCiAgLmNvbC14cy1wdXNoLTEyIHsNCiAgICBsZWZ0OiAxMDAlOw0KICB9DQogIC5jb2wteHMtcHVzaC0xMSB7DQogICAgbGVmdDogOTEuNjY2NjY2NjclOw0KICB9DQogIC5jb2wteHMtcHVzaC0xMCB7DQogICAgbGVmdDogODMuMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtcHVzaC05IHsNCiAgICBsZWZ0OiA3NSU7DQogIH0NCiAgLmNvbC14cy1wdXNoLTggew0KICAgIGxlZnQ6IDY2LjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLXB1c2gtNyB7DQogICAgbGVmdDogNTguMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtcHVzaC02IHsNCiAgICBsZWZ0OiA1MCU7DQogIH0NCiAgLmNvbC14cy1wdXNoLTUgew0KICAgIGxlZnQ6IDQxLjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLXB1c2gtNCB7DQogICAgbGVmdDogMzMuMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtcHVzaC0zIHsNCiAgICBsZWZ0OiAyNSU7DQogIH0NCiAgLmNvbC14cy1wdXNoLTIgew0KICAgIGxlZnQ6IDE2LjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLXB1c2gtMSB7DQogICAgbGVmdDogOC4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy1wdXNoLTAgew0KICAgIGxlZnQ6IGF1dG87DQogIH0NCiAgLmNvbC14cy1vZmZzZXQtMTIgew0KICAgIG1hcmdpbi1sZWZ0OiAxMDAlOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTExIHsNCiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTEwIHsNCiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTkgew0KICAgIG1hcmdpbi1sZWZ0OiA3NSU7DQogIH0NCiAgLmNvbC14cy1vZmZzZXQtOCB7DQogICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLW9mZnNldC03IHsNCiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTYgew0KICAgIG1hcmdpbi1sZWZ0OiA1MCU7DQogIH0NCiAgLmNvbC14cy1vZmZzZXQtNSB7DQogICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLW9mZnNldC00IHsNCiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTMgew0KICAgIG1hcmdpbi1sZWZ0OiAyNSU7DQogIH0NCiAgLmNvbC14cy1vZmZzZXQtMiB7DQogICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLW9mZnNldC0xIHsNCiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy1vZmZzZXQtMCB7DQogICAgbWFyZ2luLWxlZnQ6IDA7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmNvbC1zbS0xLCAuY29sLXNtLTIsIC5jb2wtc20tMywgLmNvbC1zbS00LCAuY29sLXNtLTUsIC5jb2wtc20tNiwgLmNvbC1zbS03LCAuY29sLXNtLTgsIC5jb2wtc20tOSwgLmNvbC1zbS0xMCwgLmNvbC1zbS0xMSwgLmNvbC1zbS0xMiB7DQogICAgICBmbG9hdDogbGVmdDsNCiAgICB9DQogICAgLmNvbC1zbS0xMiB7DQogICAgICB3aWR0aDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1zbS0xMSB7DQogICAgICB3aWR0aDogOTEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLXNtLTEwIHsNCiAgICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tOSB7DQogICAgICB3aWR0aDogNzUlOw0KICAgIH0NCiAgICAuY29sLXNtLTggew0KICAgICAgd2lkdGg6IDY2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS03IHsNCiAgICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tNiB7DQogICAgICB3aWR0aDogNTAlOw0KICAgIH0NCiAgICAuY29sLXNtLTUgew0KICAgICAgd2lkdGg6IDQxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS00IHsNCiAgICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tMyB7DQogICAgICB3aWR0aDogMjUlOw0KICAgIH0NCiAgICAuY29sLXNtLTIgew0KICAgICAgd2lkdGg6IDE2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS0xIHsNCiAgICAgIHdpZHRoOiA4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1zbS1wdWxsLTEyIHsNCiAgICAgIHJpZ2h0OiAxMDAlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1bGwtMTEgew0KICAgICAgcmlnaHQ6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1wdWxsLTEwIHsNCiAgICAgIHJpZ2h0OiA4My4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC05IHsNCiAgICAgIHJpZ2h0OiA3NSU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC04IHsNCiAgICAgIHJpZ2h0OiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC03IHsNCiAgICAgIHJpZ2h0OiA1OC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC02IHsNCiAgICAgIHJpZ2h0OiA1MCU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC01IHsNCiAgICAgIHJpZ2h0OiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC00IHsNCiAgICAgIHJpZ2h0OiAzMy4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC0zIHsNCiAgICAgIHJpZ2h0OiAyNSU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC0yIHsNCiAgICAgIHJpZ2h0OiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC0xIHsNCiAgICAgIHJpZ2h0OiA4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1zbS1wdWxsLTAgew0KICAgICAgcmlnaHQ6IGF1dG87DQogICAgfQ0KICAgIC5jb2wtc20tcHVzaC0xMiB7DQogICAgICBsZWZ0OiAxMDAlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtMTEgew0KICAgICAgbGVmdDogOTEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtMTAgew0KICAgICAgbGVmdDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtOSB7DQogICAgICBsZWZ0OiA3NSU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVzaC04IHsNCiAgICAgIGxlZnQ6IDY2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1wdXNoLTcgew0KICAgICAgbGVmdDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtNiB7DQogICAgICBsZWZ0OiA1MCU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVzaC01IHsNCiAgICAgIGxlZnQ6IDQxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1wdXNoLTQgew0KICAgICAgbGVmdDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtMyB7DQogICAgICBsZWZ0OiAyNSU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVzaC0yIHsNCiAgICAgIGxlZnQ6IDE2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1wdXNoLTEgew0KICAgICAgbGVmdDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVzaC0wIHsNCiAgICAgIGxlZnQ6IGF1dG87DQogICAgfQ0KICAgIC5jb2wtc20tb2Zmc2V0LTEyIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC0xMSB7DQogICAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC0xMCB7DQogICAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC05IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA3NSU7DQogICAgfQ0KICAgIC5jb2wtc20tb2Zmc2V0LTggew0KICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1vZmZzZXQtNyB7DQogICAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC02IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7DQogICAgfQ0KICAgIC5jb2wtc20tb2Zmc2V0LTUgew0KICAgICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1vZmZzZXQtNCB7DQogICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC0zIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7DQogICAgfQ0KICAgIC5jb2wtc20tb2Zmc2V0LTIgew0KICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1vZmZzZXQtMSB7DQogICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tb2Zmc2V0LTAgew0KICAgICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAgIC5jb2wtbWQtMSwgLmNvbC1tZC0yLCAuY29sLW1kLTMsIC5jb2wtbWQtNCwgLmNvbC1tZC01LCAuY29sLW1kLTYsIC5jb2wtbWQtNywgLmNvbC1tZC04LCAuY29sLW1kLTksIC5jb2wtbWQtMTAsIC5jb2wtbWQtMTEsIC5jb2wtbWQtMTIgew0KICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgfQ0KICAgIC5jb2wtbWQtMTIgew0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgfQ0KICAgIC5jb2wtbWQtMTEgew0KICAgICAgd2lkdGg6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1tZC0xMCB7DQogICAgICB3aWR0aDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLTkgew0KICAgICAgd2lkdGg6IDc1JTsNCiAgICB9DQogICAgLmNvbC1tZC04IHsNCiAgICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtNyB7DQogICAgICB3aWR0aDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLTYgew0KICAgICAgd2lkdGg6IDUwJTsNCiAgICB9DQogICAgLmNvbC1tZC01IHsNCiAgICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtNCB7DQogICAgICB3aWR0aDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLTMgew0KICAgICAgd2lkdGg6IDI1JTsNCiAgICB9DQogICAgLmNvbC1tZC0yIHsNCiAgICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtMSB7DQogICAgICB3aWR0aDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVsbC0xMiB7DQogICAgICByaWdodDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdWxsLTExIHsNCiAgICAgIHJpZ2h0OiA5MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVsbC0xMCB7DQogICAgICByaWdodDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtOSB7DQogICAgICByaWdodDogNzUlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtOCB7DQogICAgICByaWdodDogNjYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtNyB7DQogICAgICByaWdodDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtNiB7DQogICAgICByaWdodDogNTAlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtNSB7DQogICAgICByaWdodDogNDEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtNCB7DQogICAgICByaWdodDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtMyB7DQogICAgICByaWdodDogMjUlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtMiB7DQogICAgICByaWdodDogMTYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtMSB7DQogICAgICByaWdodDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVsbC0wIHsNCiAgICAgIHJpZ2h0OiBhdXRvOw0KICAgIH0NCiAgICAuY29sLW1kLXB1c2gtMTIgew0KICAgICAgbGVmdDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTExIHsNCiAgICAgIGxlZnQ6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTEwIHsNCiAgICAgIGxlZnQ6IDgzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTkgew0KICAgICAgbGVmdDogNzUlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1c2gtOCB7DQogICAgICBsZWZ0OiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVzaC03IHsNCiAgICAgIGxlZnQ6IDU4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTYgew0KICAgICAgbGVmdDogNTAlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1c2gtNSB7DQogICAgICBsZWZ0OiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVzaC00IHsNCiAgICAgIGxlZnQ6IDMzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTMgew0KICAgICAgbGVmdDogMjUlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1c2gtMiB7DQogICAgICBsZWZ0OiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVzaC0xIHsNCiAgICAgIGxlZnQ6IDguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1c2gtMCB7DQogICAgICBsZWZ0OiBhdXRvOw0KICAgIH0NCiAgICAuY29sLW1kLW9mZnNldC0xMiB7DQogICAgICBtYXJnaW4tbGVmdDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtMTEgew0KICAgICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtMTAgew0KICAgICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtOSB7DQogICAgICBtYXJnaW4tbGVmdDogNzUlOw0KICAgIH0NCiAgICAuY29sLW1kLW9mZnNldC04IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtb2Zmc2V0LTcgew0KICAgICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtNiB7DQogICAgICBtYXJnaW4tbGVmdDogNTAlOw0KICAgIH0NCiAgICAuY29sLW1kLW9mZnNldC01IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtb2Zmc2V0LTQgew0KICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtMyB7DQogICAgICBtYXJnaW4tbGVmdDogMjUlOw0KICAgIH0NCiAgICAuY29sLW1kLW9mZnNldC0yIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtb2Zmc2V0LTEgew0KICAgICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLW9mZnNldC0wIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7DQogICAgLmNvbC1sZy0xLCAuY29sLWxnLTIsIC5jb2wtbGctMywgLmNvbC1sZy00LCAuY29sLWxnLTUsIC5jb2wtbGctNiwgLmNvbC1sZy03LCAuY29sLWxnLTgsIC5jb2wtbGctOSwgLmNvbC1sZy0xMCwgLmNvbC1sZy0xMSwgLmNvbC1sZy0xMiB7DQogICAgICBmbG9hdDogbGVmdDsNCiAgICB9DQogICAgLmNvbC1sZy0xMiB7DQogICAgICB3aWR0aDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1sZy0xMSB7DQogICAgICB3aWR0aDogOTEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLWxnLTEwIHsNCiAgICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctOSB7DQogICAgICB3aWR0aDogNzUlOw0KICAgIH0NCiAgICAuY29sLWxnLTggew0KICAgICAgd2lkdGg6IDY2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy03IHsNCiAgICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctNiB7DQogICAgICB3aWR0aDogNTAlOw0KICAgIH0NCiAgICAuY29sLWxnLTUgew0KICAgICAgd2lkdGg6IDQxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy00IHsNCiAgICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctMyB7DQogICAgICB3aWR0aDogMjUlOw0KICAgIH0NCiAgICAuY29sLWxnLTIgew0KICAgICAgd2lkdGg6IDE2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy0xIHsNCiAgICAgIHdpZHRoOiA4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1sZy1wdWxsLTEyIHsNCiAgICAgIHJpZ2h0OiAxMDAlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1bGwtMTEgew0KICAgICAgcmlnaHQ6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1wdWxsLTEwIHsNCiAgICAgIHJpZ2h0OiA4My4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC05IHsNCiAgICAgIHJpZ2h0OiA3NSU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC04IHsNCiAgICAgIHJpZ2h0OiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC03IHsNCiAgICAgIHJpZ2h0OiA1OC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC02IHsNCiAgICAgIHJpZ2h0OiA1MCU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC01IHsNCiAgICAgIHJpZ2h0OiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC00IHsNCiAgICAgIHJpZ2h0OiAzMy4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC0zIHsNCiAgICAgIHJpZ2h0OiAyNSU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC0yIHsNCiAgICAgIHJpZ2h0OiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC0xIHsNCiAgICAgIHJpZ2h0OiA4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1sZy1wdWxsLTAgew0KICAgICAgcmlnaHQ6IGF1dG87DQogICAgfQ0KICAgIC5jb2wtbGctcHVzaC0xMiB7DQogICAgICBsZWZ0OiAxMDAlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtMTEgew0KICAgICAgbGVmdDogOTEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtMTAgew0KICAgICAgbGVmdDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtOSB7DQogICAgICBsZWZ0OiA3NSU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVzaC04IHsNCiAgICAgIGxlZnQ6IDY2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1wdXNoLTcgew0KICAgICAgbGVmdDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtNiB7DQogICAgICBsZWZ0OiA1MCU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVzaC01IHsNCiAgICAgIGxlZnQ6IDQxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1wdXNoLTQgew0KICAgICAgbGVmdDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtMyB7DQogICAgICBsZWZ0OiAyNSU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVzaC0yIHsNCiAgICAgIGxlZnQ6IDE2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1wdXNoLTEgew0KICAgICAgbGVmdDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVzaC0wIHsNCiAgICAgIGxlZnQ6IGF1dG87DQogICAgfQ0KICAgIC5jb2wtbGctb2Zmc2V0LTEyIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC0xMSB7DQogICAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC0xMCB7DQogICAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC05IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA3NSU7DQogICAgfQ0KICAgIC5jb2wtbGctb2Zmc2V0LTggew0KICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1vZmZzZXQtNyB7DQogICAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC02IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7DQogICAgfQ0KICAgIC5jb2wtbGctb2Zmc2V0LTUgew0KICAgICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1vZmZzZXQtNCB7DQogICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC0zIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7DQogICAgfQ0KICAgIC5jb2wtbGctb2Zmc2V0LTIgew0KICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1vZmZzZXQtMSB7DQogICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctb2Zmc2V0LTAgew0KICAgICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgfQ0KICB9DQogIHRhYmxlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICBjYXB0aW9uIHsNCiAgICBwYWRkaW5nLXRvcDogOHB4Ow0KICAgIHBhZGRpbmctYm90dG9tOiA4cHg7DQogICAgY29sb3I6ICM3Nzc7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgfQ0KICB0aCB7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgfQ0KICAudGFibGUgew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1heC13aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICB9DQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsDQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQgew0KICAgIHBhZGRpbmc6IDhweDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOw0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkOw0KICB9DQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCB7DQogICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsNCiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RkZDsNCiAgfQ0KICAudGFibGUgPiBjYXB0aW9uICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLA0KICAudGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCwNCiAgLnRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLA0KICAudGFibGUgPiBjYXB0aW9uICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLA0KICAudGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCwNCiAgLnRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkIHsNCiAgICBib3JkZXItdG9wOiAwOw0KICB9DQogIC50YWJsZSA+IHRib2R5ICsgdGJvZHkgew0KICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGRkOw0KICB9DQogIC50YWJsZSAudGFibGUgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgLnRhYmxlLWNvbmRlbnNlZCA+IHRoZWFkID4gdHIgPiB0aCwNCiAgLnRhYmxlLWNvbmRlbnNlZCA+IHRib2R5ID4gdHIgPiB0aCwNCiAgLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0aCwNCiAgLnRhYmxlLWNvbmRlbnNlZCA+IHRoZWFkID4gdHIgPiB0ZCwNCiAgLnRhYmxlLWNvbmRlbnNlZCA+IHRib2R5ID4gdHIgPiB0ZCwNCiAgLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0ZCB7DQogICAgcGFkZGluZzogNXB4Ow0KICB9DQogIC50YWJsZS1ib3JkZXJlZCB7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgfQ0KICAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgsDQogIC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aCwNCiAgLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoLA0KICAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsDQogIC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZCwNCiAgLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkIHsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICB9DQogIC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCwNCiAgLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkIHsNCiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7DQogIH0NCiAgLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7DQogIH0NCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiAgfQ0KICB0YWJsZSBjb2xbY2xhc3MqPSJjb2wtIl0gew0KICAgIHBvc2l0aW9uOiBzdGF0aWM7DQogICAgZGlzcGxheTogdGFibGUtY29sdW1uOw0KICAgIGZsb2F0OiBub25lOw0KICB9DQogIHRhYmxlIHRkW2NsYXNzKj0iY29sLSJdLA0KICB0YWJsZSB0aFtjbGFzcyo9ImNvbC0iXSB7DQogICAgcG9zaXRpb246IHN0YXRpYzsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOw0KICAgIGZsb2F0OiBub25lOw0KICB9DQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5hY3RpdmUsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5hY3RpdmUsDQogIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5hY3RpdmUsDQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5hY3RpdmUsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5hY3RpdmUsDQogIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5hY3RpdmUsDQogIC50YWJsZSA+IHRoZWFkID4gdHIuYWN0aXZlID4gdGQsDQogIC50YWJsZSA+IHRib2R5ID4gdHIuYWN0aXZlID4gdGQsDQogIC50YWJsZSA+IHRmb290ID4gdHIuYWN0aXZlID4gdGQsDQogIC50YWJsZSA+IHRoZWFkID4gdHIuYWN0aXZlID4gdGgsDQogIC50YWJsZSA+IHRib2R5ID4gdHIuYWN0aXZlID4gdGgsDQogIC50YWJsZSA+IHRmb290ID4gdHIuYWN0aXZlID4gdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQogIH0NCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLmFjdGl2ZTpob3ZlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLmFjdGl2ZTpob3ZlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5hY3RpdmU6aG92ZXIgPiB0ZCwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5hY3RpdmUsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuYWN0aXZlOmhvdmVyID4gdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTg7DQogIH0NCiAgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLnN1Y2Nlc3MsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5zdWNjZXNzLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQuc3VjY2VzcywNCiAgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLnN1Y2Nlc3MsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5zdWNjZXNzLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGguc3VjY2VzcywNCiAgLnRhYmxlID4gdGhlYWQgPiB0ci5zdWNjZXNzID4gdGQsDQogIC50YWJsZSA+IHRib2R5ID4gdHIuc3VjY2VzcyA+IHRkLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyLnN1Y2Nlc3MgPiB0ZCwNCiAgLnRhYmxlID4gdGhlYWQgPiB0ci5zdWNjZXNzID4gdGgsDQogIC50YWJsZSA+IHRib2R5ID4gdHIuc3VjY2VzcyA+IHRoLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyLnN1Y2Nlc3MgPiB0aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODsNCiAgfQ0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGQuc3VjY2Vzczpob3ZlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLnN1Y2Nlc3M6aG92ZXIsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuc3VjY2Vzczpob3ZlciA+IHRkLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyOmhvdmVyID4gLnN1Y2Nlc3MsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuc3VjY2Vzczpob3ZlciA+IHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBlOWM2Ow0KICB9DQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5pbmZvLA0KICAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQuaW5mbywNCiAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLmluZm8sDQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5pbmZvLA0KICAudGFibGUgPiB0Ym9keSA+IHRyID4gdGguaW5mbywNCiAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLmluZm8sDQogIC50YWJsZSA+IHRoZWFkID4gdHIuaW5mbyA+IHRkLA0KICAudGFibGUgPiB0Ym9keSA+IHRyLmluZm8gPiB0ZCwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ci5pbmZvID4gdGQsDQogIC50YWJsZSA+IHRoZWFkID4gdHIuaW5mbyA+IHRoLA0KICAudGFibGUgPiB0Ym9keSA+IHRyLmluZm8gPiB0aCwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ci5pbmZvID4gdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7DQogIH0NCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLmluZm86aG92ZXIsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0aC5pbmZvOmhvdmVyLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmluZm86aG92ZXIgPiB0ZCwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5pbmZvLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmluZm86aG92ZXIgPiB0aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2M0ZTNmMzsNCiAgfQ0KICAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQud2FybmluZywNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLndhcm5pbmcsDQogIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC53YXJuaW5nLA0KICAudGFibGUgPiB0aGVhZCA+IHRyID4gdGgud2FybmluZywNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLndhcm5pbmcsDQogIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aC53YXJuaW5nLA0KICAudGFibGUgPiB0aGVhZCA+IHRyLndhcm5pbmcgPiB0ZCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ci53YXJuaW5nID4gdGQsDQogIC50YWJsZSA+IHRmb290ID4gdHIud2FybmluZyA+IHRkLA0KICAudGFibGUgPiB0aGVhZCA+IHRyLndhcm5pbmcgPiB0aCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ci53YXJuaW5nID4gdGgsDQogIC50YWJsZSA+IHRmb290ID4gdHIud2FybmluZyA+IHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOw0KICB9DQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC53YXJuaW5nOmhvdmVyLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGgud2FybmluZzpob3ZlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci53YXJuaW5nOmhvdmVyID4gdGQsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAud2FybmluZywNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci53YXJuaW5nOmhvdmVyID4gdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWYyY2M7DQogIH0NCiAgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLmRhbmdlciwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmRhbmdlciwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLmRhbmdlciwNCiAgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLmRhbmdlciwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLmRhbmdlciwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLmRhbmdlciwNCiAgLnRhYmxlID4gdGhlYWQgPiB0ci5kYW5nZXIgPiB0ZCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ci5kYW5nZXIgPiB0ZCwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ci5kYW5nZXIgPiB0ZCwNCiAgLnRhYmxlID4gdGhlYWQgPiB0ci5kYW5nZXIgPiB0aCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ci5kYW5nZXIgPiB0aCwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ci5kYW5nZXIgPiB0aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTsNCiAgfQ0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGQuZGFuZ2VyOmhvdmVyLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGguZGFuZ2VyOmhvdmVyLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmRhbmdlcjpob3ZlciA+IHRkLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyOmhvdmVyID4gLmRhbmdlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5kYW5nZXI6aG92ZXIgPiB0aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2NjYzsNCiAgfQ0KICAudGFibGUtcmVzcG9uc2l2ZSB7DQogICAgbWluLWhlaWdodDogLjAxJTsNCiAgICBvdmVyZmxvdy14OiBhdXRvOw0KICB9DQogIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgLnRhYmxlLXJlc3BvbnNpdmUgew0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KICAgICAgb3ZlcmZsb3cteTogaGlkZGVuOw0KICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7DQogICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICAgIH0NCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSB7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIH0NCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7DQogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIH0NCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCB7DQogICAgICBib3JkZXI6IDA7DQogICAgfQ0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkOmZpcnN0LWNoaWxkIHsNCiAgICAgIGJvcmRlci1sZWZ0OiAwOw0KICAgIH0NCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpsYXN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmxhc3QtY2hpbGQsDQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGg6bGFzdC1jaGlsZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpsYXN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmxhc3QtY2hpbGQsDQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6bGFzdC1jaGlsZCB7DQogICAgICBib3JkZXItcmlnaHQ6IDA7DQogICAgfQ0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGgsDQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyOmxhc3QtY2hpbGQgPiB0aCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQgew0KICAgICAgYm9yZGVyLWJvdHRvbTogMDsNCiAgICB9DQogIH0NCiAgZmllbGRzZXQgew0KICAgIG1pbi13aWR0aDogMDsNCiAgICBwYWRkaW5nOiAwOw0KICAgIG1hcmdpbjogMDsNCiAgICBib3JkZXI6IDA7DQogIH0NCiAgbGVnZW5kIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgZm9udC1zaXplOiAyMXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0Ow0KICAgIGNvbG9yOiAjMzMzOw0KICAgIGJvcmRlcjogMDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsNCiAgfQ0KICBsYWJlbCB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIG1heC13aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tYm90dG9tOiA1cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIH0NCiAgaW5wdXRbdHlwZT0ic2VhcmNoIl0gew0KICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICB9DQogIGlucHV0W3R5cGU9InJhZGlvIl0sDQogIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gew0KICAgIG1hcmdpbjogNHB4IDAgMDsNCiAgICBtYXJnaW4tdG9wOiAxcHggXDk7DQogICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsNCiAgfQ0KICBpbnB1dFt0eXBlPSJmaWxlIl0gew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogIGlucHV0W3R5cGU9InJhbmdlIl0gew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAxMDAlOw0KICB9DQogIHNlbGVjdFttdWx0aXBsZV0sDQogIHNlbGVjdFtzaXplXSB7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIGlucHV0W3R5cGU9ImZpbGUiXTpmb2N1cywNCiAgaW5wdXRbdHlwZT0icmFkaW8iXTpmb2N1cywNCiAgaW5wdXRbdHlwZT0iY2hlY2tib3giXTpmb2N1cyB7DQogICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yOw0KICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4Ow0KICB9DQogIG91dHB1dCB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgcGFkZGluZy10b3A6IDdweDsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgY29sb3I6ICM1NTU7DQogIH0NCiAgLmZvcm0tY29udHJvbCB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiAzNHB4Ow0KICAgIHBhZGRpbmc6IDZweCAxMnB4Ow0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICBjb2xvcjogIzU1NTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIC13ZWJraXQtYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzOw0KICAgICAgICAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1czsNCiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7DQogIH0NCiAgLmZvcm0tY29udHJvbDpmb2N1cyB7DQogICAgYm9yZGVyLWNvbG9yOiAjNjZhZmU5Ow0KICAgIG91dGxpbmU6IDA7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCByZ2JhKDEwMiwgMTc1LCAyMzMsIC42KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4IHJnYmEoMTAyLCAxNzUsIDIzMywgLjYpOw0KICB9DQogIC5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXIgew0KICAgIGNvbG9yOiAjOTk5Ow0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgew0KICAgIGNvbG9yOiAjOTk5Ow0KICB9DQogIC5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgew0KICAgIGNvbG9yOiAjOTk5Ow0KICB9DQogIC5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQgew0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlcjogMDsNCiAgfQ0KICAuZm9ybS1jb250cm9sW2Rpc2FibGVkXSwNCiAgLmZvcm0tY29udHJvbFtyZWFkb25seV0sDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9sIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgLmZvcm0tY29udHJvbFtkaXNhYmxlZF0sDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9sIHsNCiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOw0KICB9DQogIHRleHRhcmVhLmZvcm0tY29udHJvbCB7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIGlucHV0W3R5cGU9InNlYXJjaCJdIHsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7DQogIH0NCiAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkgew0KICAgIGlucHV0W3R5cGU9ImRhdGUiXS5mb3JtLWNvbnRyb2wsDQogICAgaW5wdXRbdHlwZT0idGltZSJdLmZvcm0tY29udHJvbCwNCiAgICBpbnB1dFt0eXBlPSJkYXRldGltZS1sb2NhbCJdLmZvcm0tY29udHJvbCwNCiAgICBpbnB1dFt0eXBlPSJtb250aCJdLmZvcm0tY29udHJvbCB7DQogICAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICB9DQogICAgaW5wdXRbdHlwZT0iZGF0ZSJdLmlucHV0LXNtLA0KICAgIGlucHV0W3R5cGU9InRpbWUiXS5pbnB1dC1zbSwNCiAgICBpbnB1dFt0eXBlPSJkYXRldGltZS1sb2NhbCJdLmlucHV0LXNtLA0KICAgIGlucHV0W3R5cGU9Im1vbnRoIl0uaW5wdXQtc20sDQogICAgLmlucHV0LWdyb3VwLXNtIGlucHV0W3R5cGU9ImRhdGUiXSwNCiAgICAuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT0idGltZSJdLA0KICAgIC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPSJkYXRldGltZS1sb2NhbCJdLA0KICAgIC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPSJtb250aCJdIHsNCiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgIH0NCiAgICBpbnB1dFt0eXBlPSJkYXRlIl0uaW5wdXQtbGcsDQogICAgaW5wdXRbdHlwZT0idGltZSJdLmlucHV0LWxnLA0KICAgIGlucHV0W3R5cGU9ImRhdGV0aW1lLWxvY2FsIl0uaW5wdXQtbGcsDQogICAgaW5wdXRbdHlwZT0ibW9udGgiXS5pbnB1dC1sZywNCiAgICAuaW5wdXQtZ3JvdXAtbGcgaW5wdXRbdHlwZT0iZGF0ZSJdLA0KICAgIC5pbnB1dC1ncm91cC1sZyBpbnB1dFt0eXBlPSJ0aW1lIl0sDQogICAgLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9ImRhdGV0aW1lLWxvY2FsIl0sDQogICAgLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9Im1vbnRoIl0gew0KICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7DQogICAgfQ0KICB9DQogIC5mb3JtLWdyb3VwIHsNCiAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KICB9DQogIC5yYWRpbywNCiAgLmNoZWNrYm94IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgbWFyZ2luLXRvcDogMTBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICB9DQogIC5yYWRpbyBsYWJlbCwNCiAgLmNoZWNrYm94IGxhYmVsIHsNCiAgICBtaW4taGVpZ2h0OiAyMHB4Ow0KICAgIHBhZGRpbmctbGVmdDogMjBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICB9DQogIC5yYWRpbyBpbnB1dFt0eXBlPSJyYWRpbyJdLA0KICAucmFkaW8taW5saW5lIGlucHV0W3R5cGU9InJhZGlvIl0sDQogIC5jaGVja2JveCBpbnB1dFt0eXBlPSJjaGVja2JveCJdLA0KICAuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBtYXJnaW4tdG9wOiA0cHggXDk7DQogICAgbWFyZ2luLWxlZnQ6IC0yMHB4Ow0KICB9DQogIC5yYWRpbyArIC5yYWRpbywNCiAgLmNoZWNrYm94ICsgLmNoZWNrYm94IHsNCiAgICBtYXJnaW4tdG9wOiAtNXB4Ow0KICB9DQogIC5yYWRpby1pbmxpbmUsDQogIC5jaGVja2JveC1pbmxpbmUgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgcGFkZGluZy1sZWZ0OiAyMHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICAucmFkaW8taW5saW5lICsgLnJhZGlvLWlubGluZSwNCiAgLmNoZWNrYm94LWlubGluZSArIC5jaGVja2JveC1pbmxpbmUgew0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgbWFyZ2luLWxlZnQ6IDEwcHg7DQogIH0NCiAgaW5wdXRbdHlwZT0icmFkaW8iXVtkaXNhYmxlZF0sDQogIGlucHV0W3R5cGU9ImNoZWNrYm94Il1bZGlzYWJsZWRdLA0KICBpbnB1dFt0eXBlPSJyYWRpbyJdLmRpc2FibGVkLA0KICBpbnB1dFt0eXBlPSJjaGVja2JveCJdLmRpc2FibGVkLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT0icmFkaW8iXSwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gew0KICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7DQogIH0NCiAgLnJhZGlvLWlubGluZS5kaXNhYmxlZCwNCiAgLmNoZWNrYm94LWlubGluZS5kaXNhYmxlZCwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpby1pbmxpbmUsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tib3gtaW5saW5lIHsNCiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOw0KICB9DQogIC5yYWRpby5kaXNhYmxlZCBsYWJlbCwNCiAgLmNoZWNrYm94LmRpc2FibGVkIGxhYmVsLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLnJhZGlvIGxhYmVsLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmNoZWNrYm94IGxhYmVsIHsNCiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOw0KICB9DQogIC5mb3JtLWNvbnRyb2wtc3RhdGljIHsNCiAgICBtaW4taGVpZ2h0OiAzNHB4Ow0KICAgIHBhZGRpbmctdG9wOiA3cHg7DQogICAgcGFkZGluZy1ib3R0b206IDdweDsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICB9DQogIC5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LWxnLA0KICAuZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1zbSB7DQogICAgcGFkZGluZy1yaWdodDogMDsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogIH0NCiAgLmlucHV0LXNtIHsNCiAgICBoZWlnaHQ6IDMwcHg7DQogICAgcGFkZGluZzogNXB4IDEwcHg7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjU7DQogICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KICB9DQogIHNlbGVjdC5pbnB1dC1zbSB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICB9DQogIHRleHRhcmVhLmlucHV0LXNtLA0KICBzZWxlY3RbbXVsdGlwbGVdLmlucHV0LXNtIHsNCiAgICBoZWlnaHQ6IGF1dG87DQogIH0NCiAgLmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsNCiAgfQ0KICAuZm9ybS1ncm91cC1zbSBzZWxlY3QuZm9ybS1jb250cm9sIHsNCiAgICBoZWlnaHQ6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogIH0NCiAgLmZvcm0tZ3JvdXAtc20gdGV4dGFyZWEuZm9ybS1jb250cm9sLA0KICAuZm9ybS1ncm91cC1zbSBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIC5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtc3RhdGljIHsNCiAgICBoZWlnaHQ6IDMwcHg7DQogICAgbWluLWhlaWdodDogMzJweDsNCiAgICBwYWRkaW5nOiA2cHggMTBweDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgfQ0KICAuaW5wdXQtbGcgew0KICAgIGhlaWdodDogNDZweDsNCiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICB9DQogIHNlbGVjdC5pbnB1dC1sZyB7DQogICAgaGVpZ2h0OiA0NnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICB9DQogIHRleHRhcmVhLmlucHV0LWxnLA0KICBzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWxnIHsNCiAgICBoZWlnaHQ6IGF1dG87DQogIH0NCiAgLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCB7DQogICAgaGVpZ2h0OiA0NnB4Ow0KICAgIHBhZGRpbmc6IDEwcHggMTZweDsNCiAgICBmb250LXNpemU6IDE4cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzsNCiAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogIH0NCiAgLmZvcm0tZ3JvdXAtbGcgc2VsZWN0LmZvcm0tY29udHJvbCB7DQogICAgaGVpZ2h0OiA0NnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICB9DQogIC5mb3JtLWdyb3VwLWxnIHRleHRhcmVhLmZvcm0tY29udHJvbCwNCiAgLmZvcm0tZ3JvdXAtbGcgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wgew0KICAgIGhlaWdodDogYXV0bzsNCiAgfQ0KICAuZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLXN0YXRpYyB7DQogICAgaGVpZ2h0OiA0NnB4Ow0KICAgIG1pbi1oZWlnaHQ6IDM4cHg7DQogICAgcGFkZGluZzogMTFweCAxNnB4Ow0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBsaW5lLWhlaWdodDogMS4zMzMzMzMzOw0KICB9DQogIC5oYXMtZmVlZGJhY2sgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgfQ0KICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wgew0KICAgIHBhZGRpbmctcmlnaHQ6IDQyLjVweDsNCiAgfQ0KICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAwOw0KICAgIHJpZ2h0OiAwOw0KICAgIHotaW5kZXg6IDI7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDM0cHg7DQogICAgaGVpZ2h0OiAzNHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzNHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsNCiAgfQ0KICAuaW5wdXQtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLA0KICAuaW5wdXQtZ3JvdXAtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLA0KICAuZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgd2lkdGg6IDQ2cHg7DQogICAgaGVpZ2h0OiA0NnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICB9DQogIC5pbnB1dC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssDQogIC5pbnB1dC1ncm91cC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssDQogIC5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHsNCiAgICB3aWR0aDogMzBweDsNCiAgICBoZWlnaHQ6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogIH0NCiAgLmhhcy1zdWNjZXNzIC5oZWxwLWJsb2NrLA0KICAuaGFzLXN1Y2Nlc3MgLmNvbnRyb2wtbGFiZWwsDQogIC5oYXMtc3VjY2VzcyAucmFkaW8sDQogIC5oYXMtc3VjY2VzcyAuY2hlY2tib3gsDQogIC5oYXMtc3VjY2VzcyAucmFkaW8taW5saW5lLA0KICAuaGFzLXN1Y2Nlc3MgLmNoZWNrYm94LWlubGluZSwNCiAgLmhhcy1zdWNjZXNzLnJhZGlvIGxhYmVsLA0KICAuaGFzLXN1Y2Nlc3MuY2hlY2tib3ggbGFiZWwsDQogIC5oYXMtc3VjY2Vzcy5yYWRpby1pbmxpbmUgbGFiZWwsDQogIC5oYXMtc3VjY2Vzcy5jaGVja2JveC1pbmxpbmUgbGFiZWwgew0KICAgIGNvbG9yOiAjM2M3NjNkOw0KICB9DQogIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sIHsNCiAgICBib3JkZXItY29sb3I6ICMzYzc2M2Q7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOw0KICB9DQogIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sOmZvY3VzIHsNCiAgICBib3JkZXItY29sb3I6ICMyYjU0MmM7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDZweCAjNjdiMTY4Ow0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA2cHggIzY3YjE2ODsNCiAgfQ0KICAuaGFzLXN1Y2Nlc3MgLmlucHV0LWdyb3VwLWFkZG9uIHsNCiAgICBjb2xvcjogIzNjNzYzZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4Ow0KICAgIGJvcmRlci1jb2xvcjogIzNjNzYzZDsNCiAgfQ0KICAuaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgY29sb3I6ICMzYzc2M2Q7DQogIH0NCiAgLmhhcy13YXJuaW5nIC5oZWxwLWJsb2NrLA0KICAuaGFzLXdhcm5pbmcgLmNvbnRyb2wtbGFiZWwsDQogIC5oYXMtd2FybmluZyAucmFkaW8sDQogIC5oYXMtd2FybmluZyAuY2hlY2tib3gsDQogIC5oYXMtd2FybmluZyAucmFkaW8taW5saW5lLA0KICAuaGFzLXdhcm5pbmcgLmNoZWNrYm94LWlubGluZSwNCiAgLmhhcy13YXJuaW5nLnJhZGlvIGxhYmVsLA0KICAuaGFzLXdhcm5pbmcuY2hlY2tib3ggbGFiZWwsDQogIC5oYXMtd2FybmluZy5yYWRpby1pbmxpbmUgbGFiZWwsDQogIC5oYXMtd2FybmluZy5jaGVja2JveC1pbmxpbmUgbGFiZWwgew0KICAgIGNvbG9yOiAjOGE2ZDNiOw0KICB9DQogIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sIHsNCiAgICBib3JkZXItY29sb3I6ICM4YTZkM2I7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOw0KICB9DQogIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sOmZvY3VzIHsNCiAgICBib3JkZXItY29sb3I6ICM2NjUxMmM7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDZweCAjYzBhMTZiOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA2cHggI2MwYTE2YjsNCiAgfQ0KICAuaGFzLXdhcm5pbmcgLmlucHV0LWdyb3VwLWFkZG9uIHsNCiAgICBjb2xvcjogIzhhNmQzYjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOw0KICAgIGJvcmRlci1jb2xvcjogIzhhNmQzYjsNCiAgfQ0KICAuaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgY29sb3I6ICM4YTZkM2I7DQogIH0NCiAgLmhhcy1lcnJvciAuaGVscC1ibG9jaywNCiAgLmhhcy1lcnJvciAuY29udHJvbC1sYWJlbCwNCiAgLmhhcy1lcnJvciAucmFkaW8sDQogIC5oYXMtZXJyb3IgLmNoZWNrYm94LA0KICAuaGFzLWVycm9yIC5yYWRpby1pbmxpbmUsDQogIC5oYXMtZXJyb3IgLmNoZWNrYm94LWlubGluZSwNCiAgLmhhcy1lcnJvci5yYWRpbyBsYWJlbCwNCiAgLmhhcy1lcnJvci5jaGVja2JveCBsYWJlbCwNCiAgLmhhcy1lcnJvci5yYWRpby1pbmxpbmUgbGFiZWwsDQogIC5oYXMtZXJyb3IuY2hlY2tib3gtaW5saW5lIGxhYmVsIHsNCiAgICBjb2xvcjogI2E5NDQ0MjsNCiAgfQ0KICAuaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wgew0KICAgIGJvcmRlci1jb2xvcjogI2E5NDQ0MjsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSk7DQogIH0NCiAgLmhhcy1lcnJvciAuZm9ybS1jb250cm9sOmZvY3VzIHsNCiAgICBib3JkZXItY29sb3I6ICM4NDM1MzQ7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDZweCAjY2U4NDgzOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA2cHggI2NlODQ4MzsNCiAgfQ0KICAuaGFzLWVycm9yIC5pbnB1dC1ncm91cC1hZGRvbiB7DQogICAgY29sb3I6ICNhOTQ0NDI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTsNCiAgICBib3JkZXItY29sb3I6ICNhOTQ0NDI7DQogIH0NCiAgLmhhcy1lcnJvciAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHsNCiAgICBjb2xvcjogI2E5NDQ0MjsNCiAgfQ0KICAuaGFzLWZlZWRiYWNrIGxhYmVsIH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgdG9wOiAyNXB4Ow0KICB9DQogIC5oYXMtZmVlZGJhY2sgbGFiZWwuc3Itb25seSB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sgew0KICAgIHRvcDogMDsNCiAgfQ0KICAuaGVscC1ibG9jayB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgbWFyZ2luLXRvcDogNXB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogICAgY29sb3I6ICM3MzczNzM7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmZvcm0taW5saW5lIC5mb3JtLWdyb3VwIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIH0NCiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbCB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICB3aWR0aDogYXV0bzsNCiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sLXN0YXRpYyB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgew0KICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlOw0KICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24sDQogICAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRuLA0KICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7DQogICAgICB3aWR0aDogYXV0bzsNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgew0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAuY29udHJvbC1sYWJlbCB7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5yYWRpbywNCiAgICAuZm9ybS1pbmxpbmUgLmNoZWNrYm94IHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5yYWRpbyBsYWJlbCwNCiAgICAuZm9ybS1pbmxpbmUgLmNoZWNrYm94IGxhYmVsIHsNCiAgICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5yYWRpbyBpbnB1dFt0eXBlPSJyYWRpbyJdLA0KICAgIC5mb3JtLWlubGluZSAuY2hlY2tib3ggaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7DQogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgICB0b3A6IDA7DQogICAgfQ0KICB9DQogIC5mb3JtLWhvcml6b250YWwgLnJhZGlvLA0KICAuZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCwNCiAgLmZvcm0taG9yaXpvbnRhbCAucmFkaW8taW5saW5lLA0KICAuZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveC1pbmxpbmUgew0KICAgIHBhZGRpbmctdG9wOiA3cHg7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICB9DQogIC5mb3JtLWhvcml6b250YWwgLnJhZGlvLA0KICAuZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCB7DQogICAgbWluLWhlaWdodDogMjdweDsNCiAgfQ0KICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwIHsNCiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAuZm9ybS1ob3Jpem9udGFsIC5jb250cm9sLWxhYmVsIHsNCiAgICAgIHBhZGRpbmctdG9wOiA3cHg7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7DQogICAgfQ0KICB9DQogIC5mb3JtLWhvcml6b250YWwgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHsNCiAgICByaWdodDogMTVweDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLWxnIC5jb250cm9sLWxhYmVsIHsNCiAgICAgIHBhZGRpbmctdG9wOiAxMXB4Ow0KICAgICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLXNtIC5jb250cm9sLWxhYmVsIHsNCiAgICAgIHBhZGRpbmctdG9wOiA2cHg7DQogICAgICBmb250LXNpemU6IDEycHg7DQogICAgfQ0KICB9DQogIC5idG4gew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBwYWRkaW5nOiA2cHggMTJweDsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOw0KICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOw0KICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICAuYnRuOmZvY3VzLA0KICAuYnRuOmFjdGl2ZTpmb2N1cywNCiAgLmJ0bi5hY3RpdmU6Zm9jdXMsDQogIC5idG4uZm9jdXMsDQogIC5idG46YWN0aXZlLmZvY3VzLA0KICAuYnRuLmFjdGl2ZS5mb2N1cyB7DQogICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yOw0KICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4Ow0KICB9DQogIC5idG46aG92ZXIsDQogIC5idG46Zm9jdXMsDQogIC5idG4uZm9jdXMgew0KICAgIGNvbG9yOiAjMzMzOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgfQ0KICAuYnRuOmFjdGl2ZSwNCiAgLmJ0bi5hY3RpdmUgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogICAgb3V0bGluZTogMDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSk7DQogIH0NCiAgLmJ0bi5kaXNhYmxlZCwNCiAgLmJ0bltkaXNhYmxlZF0sDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuIHsNCiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOw0KICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsNCiAgICBvcGFjaXR5OiAuNjU7DQogIH0NCiAgYS5idG4uZGlzYWJsZWQsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSBhLmJ0biB7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogIH0NCiAgLmJ0bi1kZWZhdWx0IHsNCiAgICBjb2xvcjogIzMzMzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlci1jb2xvcjogI2NjYzsNCiAgfQ0KICAuYnRuLWRlZmF1bHQ6Zm9jdXMsDQogIC5idG4tZGVmYXVsdC5mb2N1cyB7DQogICAgY29sb3I6ICMzMzM7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsNCiAgICBib3JkZXItY29sb3I6ICM4YzhjOGM7DQogIH0NCiAgLmJ0bi1kZWZhdWx0OmhvdmVyIHsNCiAgICBjb2xvcjogIzMzMzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2Ow0KICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDsNCiAgfQ0KICAuYnRuLWRlZmF1bHQ6YWN0aXZlLA0KICAuYnRuLWRlZmF1bHQuYWN0aXZlLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQgew0KICAgIGNvbG9yOiAjMzMzOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7DQogICAgYm9yZGVyLWNvbG9yOiAjYWRhZGFkOw0KICB9DQogIC5idG4tZGVmYXVsdDphY3RpdmU6aG92ZXIsDQogIC5idG4tZGVmYXVsdC5hY3RpdmU6aG92ZXIsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdDpob3ZlciwNCiAgLmJ0bi1kZWZhdWx0OmFjdGl2ZTpmb2N1cywNCiAgLmJ0bi1kZWZhdWx0LmFjdGl2ZTpmb2N1cywNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0OmZvY3VzLA0KICAuYnRuLWRlZmF1bHQ6YWN0aXZlLmZvY3VzLA0KICAuYnRuLWRlZmF1bHQuYWN0aXZlLmZvY3VzLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQuZm9jdXMgew0KICAgIGNvbG9yOiAjMzMzOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZDQ7DQogICAgYm9yZGVyLWNvbG9yOiAjOGM4YzhjOw0KICB9DQogIC5idG4tZGVmYXVsdDphY3RpdmUsDQogIC5idG4tZGVmYXVsdC5hY3RpdmUsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdCB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCiAgfQ0KICAuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6aG92ZXIsDQogIC5idG4tZGVmYXVsdFtkaXNhYmxlZF06aG92ZXIsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6aG92ZXIsDQogIC5idG4tZGVmYXVsdC5kaXNhYmxlZDpmb2N1cywNCiAgLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpmb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpmb2N1cywNCiAgLmJ0bi1kZWZhdWx0LmRpc2FibGVkLmZvY3VzLA0KICAuYnRuLWRlZmF1bHRbZGlzYWJsZWRdLmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlci1jb2xvcjogI2NjYzsNCiAgfQ0KICAuYnRuLWRlZmF1bHQgLmJhZGdlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOw0KICB9DQogIC5idG4tcHJpbWFyeSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgICBib3JkZXItY29sb3I6ICMyZTZkYTQ7DQogIH0NCiAgLmJ0bi1wcmltYXJ5OmZvY3VzLA0KICAuYnRuLXByaW1hcnkuZm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyODYwOTA7DQogICAgYm9yZGVyLWNvbG9yOiAjMTIyYjQwOw0KICB9DQogIC5idG4tcHJpbWFyeTpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzI4NjA5MDsNCiAgICBib3JkZXItY29sb3I6ICMyMDRkNzQ7DQogIH0NCiAgLmJ0bi1wcmltYXJ5OmFjdGl2ZSwNCiAgLmJ0bi1wcmltYXJ5LmFjdGl2ZSwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5IHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjg2MDkwOw0KICAgIGJvcmRlci1jb2xvcjogIzIwNGQ3NDsNCiAgfQ0KICAuYnRuLXByaW1hcnk6YWN0aXZlOmhvdmVyLA0KICAuYnRuLXByaW1hcnkuYWN0aXZlOmhvdmVyLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnk6aG92ZXIsDQogIC5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsDQogIC5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeTpmb2N1cywNCiAgLmJ0bi1wcmltYXJ5OmFjdGl2ZS5mb2N1cywNCiAgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cywNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5LmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA0ZDc0Ow0KICAgIGJvcmRlci1jb2xvcjogIzEyMmI0MDsNCiAgfQ0KICAuYnRuLXByaW1hcnk6YWN0aXZlLA0KICAuYnRuLXByaW1hcnkuYWN0aXZlLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnkgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogIH0NCiAgLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLA0KICAuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5OmhvdmVyLA0KICAuYnRuLXByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsDQogIC5idG4tcHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnk6Zm9jdXMsDQogIC5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywNCiAgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXS5mb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeS5mb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgICBib3JkZXItY29sb3I6ICMyZTZkYTQ7DQogIH0NCiAgLmJ0bi1wcmltYXJ5IC5iYWRnZSB7DQogICAgY29sb3I6ICMzMzdhYjc7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgfQ0KICAuYnRuLXN1Y2Nlc3Mgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1Y2I4NWM7DQogICAgYm9yZGVyLWNvbG9yOiAjNGNhZTRjOw0KICB9DQogIC5idG4tc3VjY2Vzczpmb2N1cywNCiAgLmJ0bi1zdWNjZXNzLmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ5ZDQ0Ow0KICAgIGJvcmRlci1jb2xvcjogIzI1NTYyNTsNCiAgfQ0KICAuYnRuLXN1Y2Nlc3M6aG92ZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDlkNDQ7DQogICAgYm9yZGVyLWNvbG9yOiAjMzk4NDM5Ow0KICB9DQogIC5idG4tc3VjY2VzczphY3RpdmUsDQogIC5idG4tc3VjY2Vzcy5hY3RpdmUsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2VzcyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0OWQ0NDsNCiAgICBib3JkZXItY29sb3I6ICMzOTg0Mzk7DQogIH0NCiAgLmJ0bi1zdWNjZXNzOmFjdGl2ZTpob3ZlciwNCiAgLmJ0bi1zdWNjZXNzLmFjdGl2ZTpob3ZlciwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNzOmhvdmVyLA0KICAuYnRuLXN1Y2Nlc3M6YWN0aXZlOmZvY3VzLA0KICAuYnRuLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3M6Zm9jdXMsDQogIC5idG4tc3VjY2VzczphY3RpdmUuZm9jdXMsDQogIC5idG4tc3VjY2Vzcy5hY3RpdmUuZm9jdXMsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2Vzcy5mb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzM5ODQzOTsNCiAgICBib3JkZXItY29sb3I6ICMyNTU2MjU7DQogIH0NCiAgLmJ0bi1zdWNjZXNzOmFjdGl2ZSwNCiAgLmJ0bi1zdWNjZXNzLmFjdGl2ZSwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNzIHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KICB9DQogIC5idG4tc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwNCiAgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzczpob3ZlciwNCiAgLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLA0KICAuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzOmZvY3VzLA0KICAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsDQogIC5idG4tc3VjY2Vzc1tkaXNhYmxlZF0uZm9jdXMsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3MuZm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1Y2I4NWM7DQogICAgYm9yZGVyLWNvbG9yOiAjNGNhZTRjOw0KICB9DQogIC5idG4tc3VjY2VzcyAuYmFkZ2Ugew0KICAgIGNvbG9yOiAjNWNiODVjOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgLmJ0bi1pbmZvIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWJjMGRlOw0KICAgIGJvcmRlci1jb2xvcjogIzQ2YjhkYTsNCiAgfQ0KICAuYnRuLWluZm86Zm9jdXMsDQogIC5idG4taW5mby5mb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMxYjBkNTsNCiAgICBib3JkZXItY29sb3I6ICMxYjZkODU7DQogIH0NCiAgLmJ0bi1pbmZvOmhvdmVyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzFiMGQ1Ow0KICAgIGJvcmRlci1jb2xvcjogIzI2OWFiYzsNCiAgfQ0KICAuYnRuLWluZm86YWN0aXZlLA0KICAuYnRuLWluZm8uYWN0aXZlLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWluZm8gew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzMWIwZDU7DQogICAgYm9yZGVyLWNvbG9yOiAjMjY5YWJjOw0KICB9DQogIC5idG4taW5mbzphY3RpdmU6aG92ZXIsDQogIC5idG4taW5mby5hY3RpdmU6aG92ZXIsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mbzpob3ZlciwNCiAgLmJ0bi1pbmZvOmFjdGl2ZTpmb2N1cywNCiAgLmJ0bi1pbmZvLmFjdGl2ZTpmb2N1cywNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZvOmZvY3VzLA0KICAuYnRuLWluZm86YWN0aXZlLmZvY3VzLA0KICAuYnRuLWluZm8uYWN0aXZlLmZvY3VzLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWluZm8uZm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjlhYmM7DQogICAgYm9yZGVyLWNvbG9yOiAjMWI2ZDg1Ow0KICB9DQogIC5idG4taW5mbzphY3RpdmUsDQogIC5idG4taW5mby5hY3RpdmUsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mbyB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCiAgfQ0KICAuYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsDQogIC5idG4taW5mb1tkaXNhYmxlZF06aG92ZXIsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm86aG92ZXIsDQogIC5idG4taW5mby5kaXNhYmxlZDpmb2N1cywNCiAgLmJ0bi1pbmZvW2Rpc2FibGVkXTpmb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpmb2N1cywNCiAgLmJ0bi1pbmZvLmRpc2FibGVkLmZvY3VzLA0KICAuYnRuLWluZm9bZGlzYWJsZWRdLmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvLmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWJjMGRlOw0KICAgIGJvcmRlci1jb2xvcjogIzQ2YjhkYTsNCiAgfQ0KICAuYnRuLWluZm8gLmJhZGdlIHsNCiAgICBjb2xvcjogIzViYzBkZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICB9DQogIC5idG4td2FybmluZyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTsNCiAgICBib3JkZXItY29sb3I6ICNlZWEyMzY7DQogIH0NCiAgLmJ0bi13YXJuaW5nOmZvY3VzLA0KICAuYnRuLXdhcm5pbmcuZm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzk3MWY7DQogICAgYm9yZGVyLWNvbG9yOiAjOTg1ZjBkOw0KICB9DQogIC5idG4td2FybmluZzpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VjOTcxZjsNCiAgICBib3JkZXItY29sb3I6ICNkNTg1MTI7DQogIH0NCiAgLmJ0bi13YXJuaW5nOmFjdGl2ZSwNCiAgLmJ0bi13YXJuaW5nLmFjdGl2ZSwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM5NzFmOw0KICAgIGJvcmRlci1jb2xvcjogI2Q1ODUxMjsNCiAgfQ0KICAuYnRuLXdhcm5pbmc6YWN0aXZlOmhvdmVyLA0KICAuYnRuLXdhcm5pbmcuYWN0aXZlOmhvdmVyLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmc6aG92ZXIsDQogIC5idG4td2FybmluZzphY3RpdmU6Zm9jdXMsDQogIC5idG4td2FybmluZy5hY3RpdmU6Zm9jdXMsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZzpmb2N1cywNCiAgLmJ0bi13YXJuaW5nOmFjdGl2ZS5mb2N1cywNCiAgLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cywNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nLmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDU4NTEyOw0KICAgIGJvcmRlci1jb2xvcjogIzk4NWYwZDsNCiAgfQ0KICAuYnRuLXdhcm5pbmc6YWN0aXZlLA0KICAuYnRuLXdhcm5pbmcuYWN0aXZlLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmcgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogIH0NCiAgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLA0KICAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nOmhvdmVyLA0KICAuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsDQogIC5idG4td2FybmluZ1tkaXNhYmxlZF06Zm9jdXMsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmc6Zm9jdXMsDQogIC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywNCiAgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXS5mb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZy5mb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTsNCiAgICBib3JkZXItY29sb3I6ICNlZWEyMzY7DQogIH0NCiAgLmJ0bi13YXJuaW5nIC5iYWRnZSB7DQogICAgY29sb3I6ICNmMGFkNGU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgfQ0KICAuYnRuLWRhbmdlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTM0ZjsNCiAgICBib3JkZXItY29sb3I6ICNkNDNmM2E7DQogIH0NCiAgLmJ0bi1kYW5nZXI6Zm9jdXMsDQogIC5idG4tZGFuZ2VyLmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzkzMDJjOw0KICAgIGJvcmRlci1jb2xvcjogIzc2MWMxOTsNCiAgfQ0KICAuYnRuLWRhbmdlcjpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2M5MzAyYzsNCiAgICBib3JkZXItY29sb3I6ICNhYzI5MjU7DQogIH0NCiAgLmJ0bi1kYW5nZXI6YWN0aXZlLA0KICAuYnRuLWRhbmdlci5hY3RpdmUsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzkzMDJjOw0KICAgIGJvcmRlci1jb2xvcjogI2FjMjkyNTsNCiAgfQ0KICAuYnRuLWRhbmdlcjphY3RpdmU6aG92ZXIsDQogIC5idG4tZGFuZ2VyLmFjdGl2ZTpob3ZlciwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXI6aG92ZXIsDQogIC5idG4tZGFuZ2VyOmFjdGl2ZTpmb2N1cywNCiAgLmJ0bi1kYW5nZXIuYWN0aXZlOmZvY3VzLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhbmdlcjpmb2N1cywNCiAgLmJ0bi1kYW5nZXI6YWN0aXZlLmZvY3VzLA0KICAuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyLmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWMyOTI1Ow0KICAgIGJvcmRlci1jb2xvcjogIzc2MWMxOTsNCiAgfQ0KICAuYnRuLWRhbmdlcjphY3RpdmUsDQogIC5idG4tZGFuZ2VyLmFjdGl2ZSwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXIgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogIH0NCiAgLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsDQogIC5idG4tZGFuZ2VyW2Rpc2FibGVkXTpob3ZlciwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyOmhvdmVyLA0KICAuYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywNCiAgLmJ0bi1kYW5nZXJbZGlzYWJsZWRdOmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6Zm9jdXMsDQogIC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLA0KICAuYnRuLWRhbmdlcltkaXNhYmxlZF0uZm9jdXMsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlci5mb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTM0ZjsNCiAgICBib3JkZXItY29sb3I6ICNkNDNmM2E7DQogIH0NCiAgLmJ0bi1kYW5nZXIgLmJhZGdlIHsNCiAgICBjb2xvcjogI2Q5NTM0ZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICB9DQogIC5idG4tbGluayB7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBjb2xvcjogIzMzN2FiNzsNCiAgICBib3JkZXItcmFkaXVzOiAwOw0KICB9DQogIC5idG4tbGluaywNCiAgLmJ0bi1saW5rOmFjdGl2ZSwNCiAgLmJ0bi1saW5rLmFjdGl2ZSwNCiAgLmJ0bi1saW5rW2Rpc2FibGVkXSwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbGluayB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsNCiAgfQ0KICAuYnRuLWxpbmssDQogIC5idG4tbGluazpob3ZlciwNCiAgLmJ0bi1saW5rOmZvY3VzLA0KICAuYnRuLWxpbms6YWN0aXZlIHsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICB9DQogIC5idG4tbGluazpob3ZlciwNCiAgLmJ0bi1saW5rOmZvY3VzIHsNCiAgICBjb2xvcjogIzIzNTI3YzsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICAuYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rOmhvdmVyLA0KICAuYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rOmZvY3VzIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogIH0NCiAgLmJ0bi1sZywNCiAgLmJ0bi1ncm91cC1sZyA+IC5idG4gew0KICAgIHBhZGRpbmc6IDEwcHggMTZweDsNCiAgICBmb250LXNpemU6IDE4cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzsNCiAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogIH0NCiAgLmJ0bi1zbSwNCiAgLmJ0bi1ncm91cC1zbSA+IC5idG4gew0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsNCiAgfQ0KICAuYnRuLXhzLA0KICAuYnRuLWdyb3VwLXhzID4gLmJ0biB7DQogICAgcGFkZGluZzogMXB4IDVweDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7DQogIH0NCiAgLmJ0bi1ibG9jayB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDEwMCU7DQogIH0NCiAgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sgew0KICAgIG1hcmdpbi10b3A6IDVweDsNCiAgfQ0KICBpbnB1dFt0eXBlPSJzdWJtaXQiXS5idG4tYmxvY2ssDQogIGlucHV0W3R5cGU9InJlc2V0Il0uYnRuLWJsb2NrLA0KICBpbnB1dFt0eXBlPSJidXR0b24iXS5idG4tYmxvY2sgew0KICAgIHdpZHRoOiAxMDAlOw0KICB9DQogIC5mYWRlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGxpbmVhcjsNCiAgICAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBsaW5lYXI7DQogICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgbGluZWFyOw0KICB9DQogIC5mYWRlLmluIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIC5jb2xsYXBzZSB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KICAuY29sbGFwc2UuaW4gew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogIHRyLmNvbGxhcHNlLmluIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7DQogIH0NCiAgdGJvZHkuY29sbGFwc2UuaW4gew0KICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsNCiAgfQ0KICAuY29sbGFwc2luZyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGhlaWdodDogMDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7DQogICAgICAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsNCiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogLjM1czsNCiAgICAgICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246IC4zNXM7DQogICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMzVzOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCB2aXNpYmlsaXR5Ow0KICAgICAgICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCB2aXNpYmlsaXR5Ow0KICAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCB2aXNpYmlsaXR5Ow0KICB9DQogIC5jYXJldCB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHdpZHRoOiAwOw0KICAgIGhlaWdodDogMDsNCiAgICBtYXJnaW4tbGVmdDogMnB4Ow0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgYm9yZGVyLXRvcDogNHB4IGRhc2hlZDsNCiAgICBib3JkZXItdG9wOiA0cHggc29saWQgXDk7DQogICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgfQ0KICAuZHJvcHVwLA0KICAuZHJvcGRvd24gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgfQ0KICAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHsNCiAgICBvdXRsaW5lOiAwOw0KICB9DQogIC5kcm9wZG93bi1tZW51IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAxMDAlOw0KICAgIGxlZnQ6IDA7DQogICAgei1pbmRleDogMTAwMDsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIG1pbi13aWR0aDogMTYwcHg7DQogICAgcGFkZGluZzogNXB4IDA7DQogICAgbWFyZ2luOiAycHggMCAwOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMTUpOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAuMTc1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAuMTc1KTsNCiAgfQ0KICAuZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0IHsNCiAgICByaWdodDogMDsNCiAgICBsZWZ0OiBhdXRvOw0KICB9DQogIC5kcm9wZG93bi1tZW51IC5kaXZpZGVyIHsNCiAgICBoZWlnaHQ6IDFweDsNCiAgICBtYXJnaW46IDlweCAwOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsNCiAgfQ0KICAuZHJvcGRvd24tbWVudSA+IGxpID4gYSB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgcGFkZGluZzogM3B4IDIwcHg7DQogICAgY2xlYXI6IGJvdGg7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICBjb2xvcjogIzMzMzsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICB9DQogIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLA0KICAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICMyNjI2MjY7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQogIH0NCiAgLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSwNCiAgLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpob3ZlciwNCiAgLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7DQogICAgb3V0bGluZTogMDsNCiAgfQ0KICAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGEsDQogIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpob3ZlciwNCiAgLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsDQogIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpOw0KICB9DQogIC5vcGVuID4gLmRyb3Bkb3duLW1lbnUgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogIC5vcGVuID4gYSB7DQogICAgb3V0bGluZTogMDsNCiAgfQ0KICAuZHJvcGRvd24tbWVudS1yaWdodCB7DQogICAgcmlnaHQ6IDA7DQogICAgbGVmdDogYXV0bzsNCiAgfQ0KICAuZHJvcGRvd24tbWVudS1sZWZ0IHsNCiAgICByaWdodDogYXV0bzsNCiAgICBsZWZ0OiAwOw0KICB9DQogIC5kcm9wZG93bi1oZWFkZXIgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmc6IDNweCAyMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICBjb2xvcjogIzc3NzsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICB9DQogIC5kcm9wZG93bi1iYWNrZHJvcCB7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIHRvcDogMDsNCiAgICByaWdodDogMDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICB6LWluZGV4OiA5OTA7DQogIH0NCiAgLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7DQogICAgcmlnaHQ6IDA7DQogICAgbGVmdDogYXV0bzsNCiAgfQ0KICAuZHJvcHVwIC5jYXJldCwNCiAgLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIC5jYXJldCB7DQogICAgY29udGVudDogIiI7DQogICAgYm9yZGVyLXRvcDogMDsNCiAgICBib3JkZXItYm90dG9tOiA0cHggZGFzaGVkOw0KICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCBcOTsNCiAgfQ0KICAuZHJvcHVwIC5kcm9wZG93bi1tZW51LA0KICAubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgew0KICAgIHRvcDogYXV0bzsNCiAgICBib3R0b206IDEwMCU7DQogICAgbWFyZ2luLWJvdHRvbTogMnB4Ow0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUgew0KICAgICAgcmlnaHQ6IDA7DQogICAgICBsZWZ0OiBhdXRvOw0KICAgIH0NCiAgICAubmF2YmFyLXJpZ2h0IC5kcm9wZG93bi1tZW51LWxlZnQgew0KICAgICAgcmlnaHQ6IGF1dG87DQogICAgICBsZWZ0OiAwOw0KICAgIH0NCiAgfQ0KICAuYnRuLWdyb3VwLA0KICAuYnRuLWdyb3VwLXZlcnRpY2FsIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG4sDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZmxvYXQ6IGxlZnQ7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG46aG92ZXIsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmhvdmVyLA0KICAuYnRuLWdyb3VwID4gLmJ0bjpmb2N1cywNCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zm9jdXMsDQogIC5idG4tZ3JvdXAgPiAuYnRuOmFjdGl2ZSwNCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46YWN0aXZlLA0KICAuYnRuLWdyb3VwID4gLmJ0bi5hY3RpdmUsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLmFjdGl2ZSB7DQogICAgei1pbmRleDogMjsNCiAgfQ0KICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuLA0KICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuLWdyb3VwLA0KICAuYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLA0KICAuYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHsNCiAgICBtYXJnaW4tbGVmdDogLTFweDsNCiAgfQ0KICAuYnRuLXRvb2xiYXIgew0KICAgIG1hcmdpbi1sZWZ0OiAtNXB4Ow0KICB9DQogIC5idG4tdG9vbGJhciAuYnRuLA0KICAuYnRuLXRvb2xiYXIgLmJ0bi1ncm91cCwNCiAgLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogIH0NCiAgLmJ0bi10b29sYmFyID4gLmJ0biwNCiAgLmJ0bi10b29sYmFyID4gLmJ0bi1ncm91cCwNCiAgLmJ0bi10b29sYmFyID4gLmlucHV0LWdyb3VwIHsNCiAgICBtYXJnaW4tbGVmdDogNXB4Ow0KICB9DQogIC5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHsNCiAgICBib3JkZXItcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgfQ0KICAuYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwNCiAgLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkgew0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsNCiAgfQ0KICAuYnRuLWdyb3VwID4gLmJ0bi1ncm91cCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4gew0KICAgIGJvcmRlci1yYWRpdXM6IDA7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG46bGFzdC1jaGlsZCwNCiAgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5kcm9wZG93bi10b2dnbGUgew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7DQogIH0NCiAgLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSwNCiAgLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUgew0KICAgIG91dGxpbmU6IDA7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7DQogICAgcGFkZGluZy1sZWZ0OiA4cHg7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTJweDsNCiAgfQ0KICAuYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpOw0KICB9DQogIC5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1saW5rIHsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7DQogICAgICAgICAgICBib3gtc2hhZG93OiBub25lOw0KICB9DQogIC5idG4gLmNhcmV0IHsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgfQ0KICAuYnRuLWxnIC5jYXJldCB7DQogICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDA7DQogICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsNCiAgfQ0KICAuZHJvcHVwIC5idG4tbGcgLmNhcmV0IHsNCiAgICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDsNCiAgfQ0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biwNCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwID4gLmJ0biB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgZmxvYXQ6IG5vbmU7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICB9DQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwID4gLmJ0biB7DQogICAgZmxvYXQ6IG5vbmU7DQogIH0NCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuYnRuLA0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biArIC5idG4tZ3JvdXAsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwICsgLmJ0biwNCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHsNCiAgICBtYXJnaW4tdG9wOiAtMXB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICB9DQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgew0KICAgIGJvcmRlci1yYWRpdXM6IDA7DQogIH0NCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsNCiAgfQ0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4Ow0KICB9DQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHsNCiAgICBib3JkZXItcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOmxhc3QtY2hpbGQsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAtanVzdGlmaWVkIHsNCiAgICBkaXNwbGF5OiB0YWJsZTsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOw0KICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7DQogIH0NCiAgLmJ0bi1ncm91cC1qdXN0aWZpZWQgPiAuYnRuLA0KICAuYnRuLWdyb3VwLWp1c3RpZmllZCA+IC5idG4tZ3JvdXAgew0KICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7DQogICAgZmxvYXQ6IG5vbmU7DQogICAgd2lkdGg6IDElOw0KICB9DQogIC5idG4tZ3JvdXAtanVzdGlmaWVkID4gLmJ0bi1ncm91cCAuYnRuIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgfQ0KICAuYnRuLWdyb3VwLWp1c3RpZmllZCA+IC5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnUgew0KICAgIGxlZnQ6IGF1dG87DQogIH0NCiAgW2RhdGEtdG9nZ2xlPSJidXR0b25zIl0gPiAuYnRuIGlucHV0W3R5cGU9InJhZGlvIl0sDQogIFtkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT0icmFkaW8iXSwNCiAgW2RhdGEtdG9nZ2xlPSJidXR0b25zIl0gPiAuYnRuIGlucHV0W3R5cGU9ImNoZWNrYm94Il0sDQogIFtkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogIH0NCiAgLmlucHV0LWdyb3VwIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogdGFibGU7DQogICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsNCiAgfQ0KICAuaW5wdXQtZ3JvdXBbY2xhc3MqPSJjb2wtIl0gew0KICAgIGZsb2F0OiBub25lOw0KICAgIHBhZGRpbmctcmlnaHQ6IDA7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICB9DQogIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgei1pbmRleDogMjsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICB9DQogIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZvY3VzIHsNCiAgICB6LWluZGV4OiAzOw0KICB9DQogIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsDQogIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4gew0KICAgIGhlaWdodDogNDZweDsNCiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICB9DQogIHNlbGVjdC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsDQogIHNlbGVjdC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgc2VsZWN0LmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4gew0KICAgIGhlaWdodDogNDZweDsNCiAgICBsaW5lLWhlaWdodDogNDZweDsNCiAgfQ0KICB0ZXh0YXJlYS5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsDQogIHRleHRhcmVhLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLA0KICB0ZXh0YXJlYS5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuLA0KICBzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCwNCiAgc2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgc2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHsNCiAgICBoZWlnaHQ6IGF1dG87DQogIH0NCiAgLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCwNCiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLA0KICAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsNCiAgfQ0KICBzZWxlY3QuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLA0KICBzZWxlY3QuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24sDQogIHNlbGVjdC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHsNCiAgICBoZWlnaHQ6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogIH0NCiAgdGV4dGFyZWEuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLA0KICB0ZXh0YXJlYS5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgdGV4dGFyZWEuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biwNCiAgc2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsDQogIHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24sDQogIHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgLmlucHV0LWdyb3VwLWJ0biwNCiAgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wgew0KICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7DQogIH0NCiAgLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksDQogIC5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSwNCiAgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7DQogICAgYm9yZGVyLXJhZGl1czogMDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYWRkb24sDQogIC5pbnB1dC1ncm91cC1idG4gew0KICAgIHdpZHRoOiAxJTsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIH0NCiAgLmlucHV0LWdyb3VwLWFkZG9uIHsNCiAgICBwYWRkaW5nOiA2cHggMTJweDsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICBjb2xvcjogIzU1NTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYWRkb24uaW5wdXQtc20gew0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7DQogIH0NCiAgLmlucHV0LWdyb3VwLWFkZG9uLmlucHV0LWxnIHsNCiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYWRkb24gaW5wdXRbdHlwZT0icmFkaW8iXSwNCiAgLmlucHV0LWdyb3VwLWFkZG9uIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gew0KICAgIG1hcmdpbi10b3A6IDA7DQogIH0NCiAgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQsDQogIC5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCwNCiAgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sDQogIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0biwNCiAgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsDQogIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksDQogIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4gew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KICB9DQogIC5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXJpZ2h0OiAwOw0KICB9DQogIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsDQogIC5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLA0KICAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLA0KICAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0biwNCiAgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSwNCiAgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksDQogIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KICB9DQogIC5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkIHsNCiAgICBib3JkZXItbGVmdDogMDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYnRuIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZm9udC1zaXplOiAwOw0KICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogIH0NCiAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG4gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biArIC5idG4gew0KICAgIG1hcmdpbi1sZWZ0OiAtMXB4Ow0KICB9DQogIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuOmhvdmVyLA0KICAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0bjpmb2N1cywNCiAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG46YWN0aXZlIHsNCiAgICB6LWluZGV4OiAyOw0KICB9DQogIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLA0KICAuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCB7DQogICAgbWFyZ2luLXJpZ2h0OiAtMXB4Ow0KICB9DQogIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4sDQogIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAgew0KICAgIHotaW5kZXg6IDI7DQogICAgbWFyZ2luLWxlZnQ6IC0xcHg7DQogIH0NCiAgLm5hdiB7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgfQ0KICAubmF2ID4gbGkgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgfQ0KICAubmF2ID4gbGkgPiBhIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgcGFkZGluZzogMTBweCAxNXB4Ow0KICB9DQogIC5uYXYgPiBsaSA+IGE6aG92ZXIsDQogIC5uYXYgPiBsaSA+IGE6Zm9jdXMgew0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOw0KICB9DQogIC5uYXYgPiBsaS5kaXNhYmxlZCA+IGEgew0KICAgIGNvbG9yOiAjNzc3Ow0KICB9DQogIC5uYXYgPiBsaS5kaXNhYmxlZCA+IGE6aG92ZXIsDQogIC5uYXYgPiBsaS5kaXNhYmxlZCA+IGE6Zm9jdXMgew0KICAgIGNvbG9yOiAjNzc3Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICB9DQogIC5uYXYgLm9wZW4gPiBhLA0KICAubmF2IC5vcGVuID4gYTpob3ZlciwNCiAgLm5hdiAub3BlbiA+IGE6Zm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7DQogICAgYm9yZGVyLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIC5uYXYgLm5hdi1kaXZpZGVyIHsNCiAgICBoZWlnaHQ6IDFweDsNCiAgICBtYXJnaW46IDlweCAwOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsNCiAgfQ0KICAubmF2ID4gbGkgPiBhID4gaW1nIHsNCiAgICBtYXgtd2lkdGg6IG5vbmU7DQogIH0NCiAgLm5hdi10YWJzIHsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsNCiAgfQ0KICAubmF2LXRhYnMgPiBsaSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgbWFyZ2luLWJvdHRvbTogLTFweDsNCiAgfQ0KICAubmF2LXRhYnMgPiBsaSA+IGEgew0KICAgIG1hcmdpbi1yaWdodDogMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwOw0KICB9DQogIC5uYXYtdGFicyA+IGxpID4gYTpob3ZlciB7DQogICAgYm9yZGVyLWNvbG9yOiAjZWVlICNlZWUgI2RkZDsNCiAgfQ0KICAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhLA0KICAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLA0KICAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogIzU1NTsNCiAgICBjdXJzb3I6IGRlZmF1bHQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50Ow0KICB9DQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBib3JkZXItYm90dG9tOiAwOw0KICB9DQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgew0KICAgIGZsb2F0OiBub25lOw0KICB9DQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHsNCiAgICBtYXJnaW4tYm90dG9tOiA1cHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICB9DQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHsNCiAgICB0b3A6IGF1dG87DQogICAgbGVmdDogYXV0bzsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IGxpIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7DQogICAgICB3aWR0aDogMSU7DQogICAgfQ0KICAgIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHsNCiAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgfQ0KICB9DQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGEsDQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsDQogIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6Zm9jdXMgew0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEgew0KICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7DQogICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsNCiAgICB9DQogICAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSwNCiAgICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmhvdmVyLA0KICAgIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6Zm9jdXMgew0KICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsNCiAgICB9DQogIH0NCiAgLm5hdi1waWxscyA+IGxpIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgfQ0KICAubmF2LXBpbGxzID4gbGkgPiBhIHsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogIH0NCiAgLm5hdi1waWxscyA+IGxpICsgbGkgew0KICAgIG1hcmdpbi1sZWZ0OiAycHg7DQogIH0NCiAgLm5hdi1waWxscyA+IGxpLmFjdGl2ZSA+IGEsDQogIC5uYXYtcGlsbHMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLA0KICAubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgfQ0KICAubmF2LXN0YWNrZWQgPiBsaSB7DQogICAgZmxvYXQ6IG5vbmU7DQogIH0NCiAgLm5hdi1zdGFja2VkID4gbGkgKyBsaSB7DQogICAgbWFyZ2luLXRvcDogMnB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICB9DQogIC5uYXYtanVzdGlmaWVkIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgfQ0KICAubmF2LWp1c3RpZmllZCA+IGxpIHsNCiAgICBmbG9hdDogbm9uZTsNCiAgfQ0KICAubmF2LWp1c3RpZmllZCA+IGxpID4gYSB7DQogICAgbWFyZ2luLWJvdHRvbTogNXB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgfQ0KICAubmF2LWp1c3RpZmllZCA+IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7DQogICAgdG9wOiBhdXRvOw0KICAgIGxlZnQ6IGF1dG87DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdi1qdXN0aWZpZWQgPiBsaSB7DQogICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOw0KICAgICAgd2lkdGg6IDElOw0KICAgIH0NCiAgICAubmF2LWp1c3RpZmllZCA+IGxpID4gYSB7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIH0NCiAgfQ0KICAubmF2LXRhYnMtanVzdGlmaWVkIHsNCiAgICBib3JkZXItYm90dG9tOiAwOw0KICB9DQogIC5uYXYtdGFicy1qdXN0aWZpZWQgPiBsaSA+IGEgew0KICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogIH0NCiAgLm5hdi10YWJzLWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhLA0KICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsDQogIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpmb2N1cyB7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2LXRhYnMtanVzdGlmaWVkID4gbGkgPiBhIHsNCiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOw0KICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7DQogICAgfQ0KICAgIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSwNCiAgICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsDQogICAgLm5hdi10YWJzLWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmZvY3VzIHsNCiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7DQogICAgfQ0KICB9DQogIC50YWItY29udGVudCA+IC50YWItcGFuZSB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KICAudGFiLWNvbnRlbnQgPiAuYWN0aXZlIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgfQ0KICAubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUgew0KICAgIG1hcmdpbi10b3A6IC0xcHg7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsNCiAgfQ0KICAubmF2YmFyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgbWluLWhlaWdodDogNTBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXIgew0KICAgICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLWhlYWRlciB7DQogICAgICBmbG9hdDogbGVmdDsNCiAgICB9DQogIH0NCiAgLm5hdmJhci1jb2xsYXBzZSB7DQogICAgcGFkZGluZy1yaWdodDogMTVweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7DQogICAgb3ZlcmZsb3cteDogdmlzaWJsZTsNCiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSk7DQogIH0NCiAgLm5hdmJhci1jb2xsYXBzZS5pbiB7DQogICAgb3ZlcmZsb3cteTogYXV0bzsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLWNvbGxhcHNlIHsNCiAgICAgIHdpZHRoOiBhdXRvOw0KICAgICAgYm9yZGVyLXRvcDogMDsNCiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsNCiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsNCiAgICB9DQogICAgLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZSB7DQogICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Ow0KICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQogICAgICBwYWRkaW5nLWJvdHRvbTogMDsNCiAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIC5uYXZiYXItY29sbGFwc2UuaW4gew0KICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTsNCiAgICB9DQogICAgLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZSwNCiAgICAubmF2YmFyLXN0YXRpYy10b3AgLm5hdmJhci1jb2xsYXBzZSwNCiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWNvbGxhcHNlIHsNCiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7DQogICAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgfQ0KICB9DQogIC5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItY29sbGFwc2UsDQogIC5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2Ugew0KICAgIG1heC1oZWlnaHQ6IDM0MHB4Ow0KICB9DQogIEBtZWRpYSAobWF4LWRldmljZS13aWR0aDogNDgwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgew0KICAgIC5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItY29sbGFwc2UsDQogICAgLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1jb2xsYXBzZSB7DQogICAgICBtYXgtaGVpZ2h0OiAyMDBweDsNCiAgICB9DQogIH0NCiAgLmNvbnRhaW5lciA+IC5uYXZiYXItaGVhZGVyLA0KICAuY29udGFpbmVyLWZsdWlkID4gLm5hdmJhci1oZWFkZXIsDQogIC5jb250YWluZXIgPiAubmF2YmFyLWNvbGxhcHNlLA0KICAuY29udGFpbmVyLWZsdWlkID4gLm5hdmJhci1jb2xsYXBzZSB7DQogICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsNCiAgICBtYXJnaW4tbGVmdDogLTE1cHg7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmNvbnRhaW5lciA+IC5uYXZiYXItaGVhZGVyLA0KICAgIC5jb250YWluZXItZmx1aWQgPiAubmF2YmFyLWhlYWRlciwNCiAgICAuY29udGFpbmVyID4gLm5hdmJhci1jb2xsYXBzZSwNCiAgICAuY29udGFpbmVyLWZsdWlkID4gLm5hdmJhci1jb2xsYXBzZSB7DQogICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICB9DQogIH0NCiAgLm5hdmJhci1zdGF0aWMtdG9wIHsNCiAgICB6LWluZGV4OiAxMDAwOw0KICAgIGJvcmRlci13aWR0aDogMCAwIDFweDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLXN0YXRpYy10b3Agew0KICAgICAgYm9yZGVyLXJhZGl1czogMDsNCiAgICB9DQogIH0NCiAgLm5hdmJhci1maXhlZC10b3AsDQogIC5uYXZiYXItZml4ZWQtYm90dG9tIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgcmlnaHQ6IDA7DQogICAgbGVmdDogMDsNCiAgICB6LWluZGV4OiAxMDMwOw0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXItZml4ZWQtdG9wLA0KICAgIC5uYXZiYXItZml4ZWQtYm90dG9tIHsNCiAgICAgIGJvcmRlci1yYWRpdXM6IDA7DQogICAgfQ0KICB9DQogIC5uYXZiYXItZml4ZWQtdG9wIHsNCiAgICB0b3A6IDA7DQogICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4Ow0KICB9DQogIC5uYXZiYXItZml4ZWQtYm90dG9tIHsNCiAgICBib3R0b206IDA7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7DQogIH0NCiAgLm5hdmJhci1icmFuZCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgaGVpZ2h0OiA1MHB4Ow0KICAgIHBhZGRpbmc6IDE1cHggMTVweDsNCiAgICBmb250LXNpemU6IDE4cHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogIH0NCiAgLm5hdmJhci1icmFuZDpob3ZlciwNCiAgLm5hdmJhci1icmFuZDpmb2N1cyB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICB9DQogIC5uYXZiYXItYnJhbmQgPiBpbWcgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXIgPiAuY29udGFpbmVyIC5uYXZiYXItYnJhbmQsDQogICAgLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQgLm5hdmJhci1icmFuZCB7DQogICAgICBtYXJnaW4tbGVmdDogLTE1cHg7DQogICAgfQ0KICB9DQogIC5uYXZiYXItdG9nZ2xlIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZmxvYXQ6IHJpZ2h0Ow0KICAgIHBhZGRpbmc6IDlweCAxMHB4Ow0KICAgIG1hcmdpbi10b3A6IDhweDsNCiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7DQogICAgbWFyZ2luLWJvdHRvbTogOHB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIC5uYXZiYXItdG9nZ2xlOmZvY3VzIHsNCiAgICBvdXRsaW5lOiAwOw0KICB9DQogIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDIycHg7DQogICAgaGVpZ2h0OiAycHg7DQogICAgYm9yZGVyLXJhZGl1czogMXB4Ow0KICB9DQogIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciArIC5pY29uLWJhciB7DQogICAgbWFyZ2luLXRvcDogNHB4Ow0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXItdG9nZ2xlIHsNCiAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KICB9DQogIC5uYXZiYXItbmF2IHsNCiAgICBtYXJnaW46IDcuNXB4IC0xNXB4Ow0KICB9DQogIC5uYXZiYXItbmF2ID4gbGkgPiBhIHsNCiAgICBwYWRkaW5nLXRvcDogMTBweDsNCiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCiAgfQ0KICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSB7DQogICAgICBwb3NpdGlvbjogc3RhdGljOw0KICAgICAgZmxvYXQ6IG5vbmU7DQogICAgICB3aWR0aDogYXV0bzsNCiAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgIGJvcmRlcjogMDsNCiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsNCiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsNCiAgICB9DQogICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEsDQogICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWhlYWRlciB7DQogICAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMjVweDsNCiAgICB9DQogICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEgew0KICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgfQ0KICAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLA0KICAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHsNCiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXItbmF2IHsNCiAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgbWFyZ2luOiAwOw0KICAgIH0NCiAgICAubmF2YmFyLW5hdiA+IGxpIHsNCiAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgIH0NCiAgICAubmF2YmFyLW5hdiA+IGxpID4gYSB7DQogICAgICBwYWRkaW5nLXRvcDogMTVweDsNCiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4Ow0KICAgIH0NCiAgfQ0KICAubmF2YmFyLWZvcm0gew0KICAgIHBhZGRpbmc6IDEwcHggMTVweDsNCiAgICBtYXJnaW4tdG9wOiA4cHg7DQogICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsNCiAgICBtYXJnaW4tYm90dG9tOiA4cHg7DQogICAgbWFyZ2luLWxlZnQ6IC0xNXB4Ow0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpLCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKSwgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLWZvcm0gLmZvcm0tZ3JvdXAgew0KICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgfQ0KICAgIC5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9sIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgIHdpZHRoOiBhdXRvOw0KICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5mb3JtLWNvbnRyb2wtc3RhdGljIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7DQogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIH0NCiAgICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idG4sDQogICAgLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHsNCiAgICAgIHdpZHRoOiBhdXRvOw0KICAgIH0NCiAgICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCB7DQogICAgICB3aWR0aDogMTAwJTsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5jb250cm9sLWxhYmVsIHsNCiAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIH0NCiAgICAubmF2YmFyLWZvcm0gLnJhZGlvLA0KICAgIC5uYXZiYXItZm9ybSAuY2hlY2tib3ggew0KICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgICAgbWFyZ2luLXRvcDogMDsNCiAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIH0NCiAgICAubmF2YmFyLWZvcm0gLnJhZGlvIGxhYmVsLA0KICAgIC5uYXZiYXItZm9ybSAuY2hlY2tib3ggbGFiZWwgew0KICAgICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIH0NCiAgICAubmF2YmFyLWZvcm0gLnJhZGlvIGlucHV0W3R5cGU9InJhZGlvIl0sDQogICAgLm5hdmJhci1mb3JtIC5jaGVja2JveCBpbnB1dFt0eXBlPSJjaGVja2JveCJdIHsNCiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgIH0NCiAgICAubmF2YmFyLWZvcm0gLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHsNCiAgICAgIHRvcDogMDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwIHsNCiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQgew0KICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdmJhci1mb3JtIHsNCiAgICAgIHdpZHRoOiBhdXRvOw0KICAgICAgcGFkZGluZy10b3A6IDA7DQogICAgICBwYWRkaW5nLWJvdHRvbTogMDsNCiAgICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgICAgYm9yZGVyOiAwOw0KICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lOw0KICAgIH0NCiAgfQ0KICAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUgew0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsNCiAgfQ0KICAubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsNCiAgfQ0KICAubmF2YmFyLWJ0biB7DQogICAgbWFyZ2luLXRvcDogOHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDhweDsNCiAgfQ0KICAubmF2YmFyLWJ0bi5idG4tc20gew0KICAgIG1hcmdpbi10b3A6IDEwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgfQ0KICAubmF2YmFyLWJ0bi5idG4teHMgew0KICAgIG1hcmdpbi10b3A6IDE0cHg7DQogICAgbWFyZ2luLWJvdHRvbTogMTRweDsNCiAgfQ0KICAubmF2YmFyLXRleHQgew0KICAgIG1hcmdpbi10b3A6IDE1cHg7DQogICAgbWFyZ2luLWJvdHRvbTogMTVweDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLXRleHQgew0KICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7DQogICAgICBtYXJnaW4tbGVmdDogMTVweDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdmJhci1sZWZ0IHsNCiAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIC5uYXZiYXItcmlnaHQgew0KICAgICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7DQogICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4Ow0KICAgIH0NCiAgICAubmF2YmFyLXJpZ2h0IH4gLm5hdmJhci1yaWdodCB7DQogICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgfQ0KICB9DQogIC5uYXZiYXItZGVmYXVsdCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsNCiAgICBib3JkZXItY29sb3I6ICNlN2U3ZTc7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQgew0KICAgIGNvbG9yOiAjNzc3Ow0KICB9DQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kOmhvdmVyLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpmb2N1cyB7DQogICAgY29sb3I6ICM1ZTVlNWU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdGV4dCB7DQogICAgY29sb3I6ICM3Nzc7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIsDQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICMzMzM7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGEsDQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICM1NTU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNzsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogI2NjYzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUgew0KICAgIGJvcmRlci1jb2xvcjogI2RkZDsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6aG92ZXIsDQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4Ow0KICB9DQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWNvbGxhcHNlLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1mb3JtIHsNCiAgICBib3JkZXItY29sb3I6ICNlN2U3ZTc7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIsDQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICM1NTU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNzsNCiAgfQ0KICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEgew0KICAgICAgY29sb3I6ICM3Nzc7DQogICAgfQ0KICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwNCiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMgew0KICAgICAgY29sb3I6ICMzMzM7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICB9DQogICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEsDQogICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6aG92ZXIsDQogICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6Zm9jdXMgew0KICAgICAgY29sb3I6ICM1NTU7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3Ow0KICAgIH0NCiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhLA0KICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsDQogICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7DQogICAgICBjb2xvcjogI2NjYzsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIH0NCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5rIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5rOmhvdmVyIHsNCiAgICBjb2xvcjogIzMzMzsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmhvdmVyLA0KICAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmZvY3VzIHsNCiAgICBjb2xvcjogIzMzMzsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rW2Rpc2FibGVkXTpob3ZlciwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6aG92ZXIsDQogIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpmb2N1cyB7DQogICAgY29sb3I6ICNjY2M7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyOw0KICAgIGJvcmRlci1jb2xvcjogIzA4MDgwODsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZCB7DQogICAgY29sb3I6ICM5ZDlkOWQ7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItYnJhbmQ6aG92ZXIsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci10ZXh0IHsNCiAgICBjb2xvcjogIzlkOWQ5ZDsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGEgew0KICAgIGNvbG9yOiAjOWQ5ZDlkOw0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYTpob3ZlciwNCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYSwNCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6aG92ZXIsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDgwODA4Ow0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5kaXNhYmxlZCA+IGEsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMgew0KICAgIGNvbG9yOiAjNDQ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZSB7DQogICAgYm9yZGVyLWNvbG9yOiAjMzMzOw0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZTpob3ZlciwNCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xlOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOw0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItY29sbGFwc2UsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWZvcm0gew0KICAgIGJvcmRlci1jb2xvcjogIzEwMTAxMDsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAub3BlbiA+IGEsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpob3ZlciwNCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDgwODA4Ow0KICB9DQogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kcm9wZG93bi1oZWFkZXIgew0KICAgICAgYm9yZGVyLWNvbG9yOiAjMDgwODA4Ow0KICAgIH0NCiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgLmRpdmlkZXIgew0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA4MDgwODsNCiAgICB9DQogICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHsNCiAgICAgIGNvbG9yOiAjOWQ5ZDlkOw0KICAgIH0NCiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIsDQogICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHsNCiAgICAgIGNvbG9yOiAjZmZmOw0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgfQ0KICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhLA0KICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmhvdmVyLA0KICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmZvY3VzIHsNCiAgICAgIGNvbG9yOiAjZmZmOw0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA4MDgwODsNCiAgICB9DQogICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSwNCiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLA0KICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMgew0KICAgICAgY29sb3I6ICM0NDQ7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICB9DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGluayB7DQogICAgY29sb3I6ICM5ZDlkOWQ7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGluazpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5idG4tbGluayB7DQogICAgY29sb3I6ICM5ZDlkOWQ7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpob3ZlciwNCiAgLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmhvdmVyLA0KICAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6Zm9jdXMgew0KICAgIGNvbG9yOiAjNDQ0Ow0KICB9DQogIC5icmVhZGNydW1iIHsNCiAgICBwYWRkaW5nOiA4cHggMTVweDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogIH0NCiAgLmJyZWFkY3J1bWIgPiBsaSB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB9DQogIC5icmVhZGNydW1iID4gbGkgKyBsaTpiZWZvcmUgew0KICAgIHBhZGRpbmc6IDAgNXB4Ow0KICAgIGNvbG9yOiAjY2NjOw0KICAgIGNvbnRlbnQ6ICIvXDAwYTAiOw0KICB9DQogIC5icmVhZGNydW1iID4gLmFjdGl2ZSB7DQogICAgY29sb3I6ICM3Nzc7DQogIH0NCiAgLnBhZ2luYXRpb24gew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbWFyZ2luOiAyMHB4IDA7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIC5wYWdpbmF0aW9uID4gbGkgew0KICAgIGRpc3BsYXk6IGlubGluZTsNCiAgfQ0KICAucGFnaW5hdGlvbiA+IGxpID4gYSwNCiAgLnBhZ2luYXRpb24gPiBsaSA+IHNwYW4gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBwYWRkaW5nOiA2cHggMTJweDsNCiAgICBtYXJnaW4tbGVmdDogLTFweDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICBjb2xvcjogIzMzN2FiNzsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICB9DQogIC5wYWdpbmF0aW9uID4gbGk6Zmlyc3QtY2hpbGQgPiBhLA0KICAucGFnaW5hdGlvbiA+IGxpOmZpcnN0LWNoaWxkID4gc3BhbiB7DQogICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsNCiAgfQ0KICAucGFnaW5hdGlvbiA+IGxpOmxhc3QtY2hpbGQgPiBhLA0KICAucGFnaW5hdGlvbiA+IGxpOmxhc3QtY2hpbGQgPiBzcGFuIHsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7DQogIH0NCiAgLnBhZ2luYXRpb24gPiBsaSA+IGE6aG92ZXIsDQogIC5wYWdpbmF0aW9uID4gbGkgPiBzcGFuOmhvdmVyLA0KICAucGFnaW5hdGlvbiA+IGxpID4gYTpmb2N1cywNCiAgLnBhZ2luYXRpb24gPiBsaSA+IHNwYW46Zm9jdXMgew0KICAgIHotaW5kZXg6IDI7DQogICAgY29sb3I6ICMyMzUyN2M7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsNCiAgICBib3JkZXItY29sb3I6ICNkZGQ7DQogIH0NCiAgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYSwNCiAgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3BhbiwNCiAgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYTpob3ZlciwNCiAgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbjpob3ZlciwNCiAgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYTpmb2N1cywNCiAgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbjpmb2N1cyB7DQogICAgei1pbmRleDogMzsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBjdXJzb3I6IGRlZmF1bHQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgICBib3JkZXItY29sb3I6ICMzMzdhYjc7DQogIH0NCiAgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBzcGFuLA0KICAucGFnaW5hdGlvbiA+IC5kaXNhYmxlZCA+IHNwYW46aG92ZXIsDQogIC5wYWdpbmF0aW9uID4gLmRpc2FibGVkID4gc3Bhbjpmb2N1cywNCiAgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBhLA0KICAucGFnaW5hdGlvbiA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsDQogIC5wYWdpbmF0aW9uID4gLmRpc2FibGVkID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICM3Nzc7DQogICAgY3Vyc29yOiBub3QtYWxsb3dlZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlci1jb2xvcjogI2RkZDsNCiAgfQ0KICAucGFnaW5hdGlvbi1sZyA+IGxpID4gYSwNCiAgLnBhZ2luYXRpb24tbGcgPiBsaSA+IHNwYW4gew0KICAgIHBhZGRpbmc6IDEwcHggMTZweDsNCiAgICBmb250LXNpemU6IDE4cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzsNCiAgfQ0KICAucGFnaW5hdGlvbi1sZyA+IGxpOmZpcnN0LWNoaWxkID4gYSwNCiAgLnBhZ2luYXRpb24tbGcgPiBsaTpmaXJzdC1jaGlsZCA+IHNwYW4gew0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7DQogIH0NCiAgLnBhZ2luYXRpb24tbGcgPiBsaTpsYXN0LWNoaWxkID4gYSwNCiAgLnBhZ2luYXRpb24tbGcgPiBsaTpsYXN0LWNoaWxkID4gc3BhbiB7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4Ow0KICB9DQogIC5wYWdpbmF0aW9uLXNtID4gbGkgPiBhLA0KICAucGFnaW5hdGlvbi1zbSA+IGxpID4gc3BhbiB7DQogICAgcGFkZGluZzogNXB4IDEwcHg7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjU7DQogIH0NCiAgLnBhZ2luYXRpb24tc20gPiBsaTpmaXJzdC1jaGlsZCA+IGEsDQogIC5wYWdpbmF0aW9uLXNtID4gbGk6Zmlyc3QtY2hpbGQgPiBzcGFuIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4Ow0KICB9DQogIC5wYWdpbmF0aW9uLXNtID4gbGk6bGFzdC1jaGlsZCA+IGEsDQogIC5wYWdpbmF0aW9uLXNtID4gbGk6bGFzdC1jaGlsZCA+IHNwYW4gew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFnZXIgew0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBtYXJnaW46IDIwcHggMDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgfQ0KICAucGFnZXIgbGkgew0KICAgIGRpc3BsYXk6IGlubGluZTsNCiAgfQ0KICAucGFnZXIgbGkgPiBhLA0KICAucGFnZXIgbGkgPiBzcGFuIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgcGFkZGluZzogNXB4IDE0cHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7DQogIH0NCiAgLnBhZ2VyIGxpID4gYTpob3ZlciwNCiAgLnBhZ2VyIGxpID4gYTpmb2N1cyB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7DQogIH0NCiAgLnBhZ2VyIC5uZXh0ID4gYSwNCiAgLnBhZ2VyIC5uZXh0ID4gc3BhbiB7DQogICAgZmxvYXQ6IHJpZ2h0Ow0KICB9DQogIC5wYWdlciAucHJldmlvdXMgPiBhLA0KICAucGFnZXIgLnByZXZpb3VzID4gc3BhbiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogIH0NCiAgLnBhZ2VyIC5kaXNhYmxlZCA+IGEsDQogIC5wYWdlciAuZGlzYWJsZWQgPiBhOmhvdmVyLA0KICAucGFnZXIgLmRpc2FibGVkID4gYTpmb2N1cywNCiAgLnBhZ2VyIC5kaXNhYmxlZCA+IHNwYW4gew0KICAgIGNvbG9yOiAjNzc3Ow0KICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgfQ0KICAubGFiZWwgew0KICAgIGRpc3BsYXk6IGlubGluZTsNCiAgICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTsNCiAgICBmb250LXNpemU6IDc1JTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7DQogICAgYm9yZGVyLXJhZGl1czogLjI1ZW07DQogIH0NCiAgYS5sYWJlbDpob3ZlciwNCiAgYS5sYWJlbDpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICAubGFiZWw6ZW1wdHkgew0KICAgIGRpc3BsYXk6IG5vbmU7DQogIH0NCiAgLmJ0biAubGFiZWwgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB0b3A6IC0xcHg7DQogIH0NCiAgLmxhYmVsLWRlZmF1bHQgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7DQogIH0NCiAgLmxhYmVsLWRlZmF1bHRbaHJlZl06aG92ZXIsDQogIC5sYWJlbC1kZWZhdWx0W2hyZWZdOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlOw0KICB9DQogIC5sYWJlbC1wcmltYXJ5IHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIC5sYWJlbC1wcmltYXJ5W2hyZWZdOmhvdmVyLA0KICAubGFiZWwtcHJpbWFyeVtocmVmXTpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzI4NjA5MDsNCiAgfQ0KICAubGFiZWwtc3VjY2VzcyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzVjYjg1YzsNCiAgfQ0KICAubGFiZWwtc3VjY2Vzc1tocmVmXTpob3ZlciwNCiAgLmxhYmVsLXN1Y2Nlc3NbaHJlZl06Zm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDlkNDQ7DQogIH0NCiAgLmxhYmVsLWluZm8gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1YmMwZGU7DQogIH0NCiAgLmxhYmVsLWluZm9baHJlZl06aG92ZXIsDQogIC5sYWJlbC1pbmZvW2hyZWZdOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzFiMGQ1Ow0KICB9DQogIC5sYWJlbC13YXJuaW5nIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBhZDRlOw0KICB9DQogIC5sYWJlbC13YXJuaW5nW2hyZWZdOmhvdmVyLA0KICAubGFiZWwtd2FybmluZ1tocmVmXTpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VjOTcxZjsNCiAgfQ0KICAubGFiZWwtZGFuZ2VyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1MzRmOw0KICB9DQogIC5sYWJlbC1kYW5nZXJbaHJlZl06aG92ZXIsDQogIC5sYWJlbC1kYW5nZXJbaHJlZl06Zm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNjOTMwMmM7DQogIH0NCiAgLmJhZGdlIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgbWluLXdpZHRoOiAxMHB4Ow0KICAgIHBhZGRpbmc6IDNweCA3cHg7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGxpbmUtaGVpZ2h0OiAxOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsNCiAgICBib3JkZXItcmFkaXVzOiAxMHB4Ow0KICB9DQogIC5iYWRnZTplbXB0eSB7DQogICAgZGlzcGxheTogbm9uZTsNCiAgfQ0KICAuYnRuIC5iYWRnZSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHRvcDogLTFweDsNCiAgfQ0KICAuYnRuLXhzIC5iYWRnZSwNCiAgLmJ0bi1ncm91cC14cyA+IC5idG4gLmJhZGdlIHsNCiAgICB0b3A6IDA7DQogICAgcGFkZGluZzogMXB4IDVweDsNCiAgfQ0KICBhLmJhZGdlOmhvdmVyLA0KICBhLmJhZGdlOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlID4gLmJhZGdlLA0KICAubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGEgPiAuYmFkZ2Ugew0KICAgIGNvbG9yOiAjMzM3YWI3Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbSA+IC5iYWRnZSB7DQogICAgZmxvYXQ6IHJpZ2h0Ow0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0gPiAuYmFkZ2UgKyAuYmFkZ2Ugew0KICAgIG1hcmdpbi1yaWdodDogNXB4Ow0KICB9DQogIC5uYXYtcGlsbHMgPiBsaSA+IGEgPiAuYmFkZ2Ugew0KICAgIG1hcmdpbi1sZWZ0OiAzcHg7DQogIH0NCiAgLmp1bWJvdHJvbiB7DQogICAgcGFkZGluZy10b3A6IDMwcHg7DQogICAgcGFkZGluZy1ib3R0b206IDMwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMzBweDsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOw0KICB9DQogIC5qdW1ib3Ryb24gaDEsDQogIC5qdW1ib3Ryb24gLmgxIHsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgfQ0KICAuanVtYm90cm9uIHAgew0KICAgIG1hcmdpbi1ib3R0b206IDE1cHg7DQogICAgZm9udC1zaXplOiAyMXB4Ow0KICAgIGZvbnQtd2VpZ2h0OiAyMDA7DQogIH0NCiAgLmp1bWJvdHJvbiA+IGhyIHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjZDVkNWQ1Ow0KICB9DQogIC5jb250YWluZXIgLmp1bWJvdHJvbiwNCiAgLmNvbnRhaW5lci1mbHVpZCAuanVtYm90cm9uIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogIH0NCiAgLmp1bWJvdHJvbiAuY29udGFpbmVyIHsNCiAgICBtYXgtd2lkdGg6IDEwMCU7DQogIH0NCiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAuanVtYm90cm9uIHsNCiAgICAgIHBhZGRpbmctdG9wOiA0OHB4Ow0KICAgICAgcGFkZGluZy1ib3R0b206IDQ4cHg7DQogICAgfQ0KICAgIC5jb250YWluZXIgLmp1bWJvdHJvbiwNCiAgICAuY29udGFpbmVyLWZsdWlkIC5qdW1ib3Ryb24gew0KICAgICAgcGFkZGluZy1yaWdodDogNjBweDsNCiAgICAgIHBhZGRpbmctbGVmdDogNjBweDsNCiAgICB9DQogICAgLmp1bWJvdHJvbiBoMSwNCiAgICAuanVtYm90cm9uIC5oMSB7DQogICAgICBmb250LXNpemU6IDYzcHg7DQogICAgfQ0KICB9DQogIC50aHVtYm5haWwgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmc6IDRweDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXIgLjJzIGVhc2UtaW4tb3V0Ow0KICAgICAgICAgLW8tdHJhbnNpdGlvbjogYm9yZGVyIC4ycyBlYXNlLWluLW91dDsNCiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAuMnMgZWFzZS1pbi1vdXQ7DQogIH0NCiAgLnRodW1ibmFpbCA+IGltZywNCiAgLnRodW1ibmFpbCBhID4gaW1nIHsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogIH0NCiAgYS50aHVtYm5haWw6aG92ZXIsDQogIGEudGh1bWJuYWlsOmZvY3VzLA0KICBhLnRodW1ibmFpbC5hY3RpdmUgew0KICAgIGJvcmRlci1jb2xvcjogIzMzN2FiNzsNCiAgfQ0KICAudGh1bWJuYWlsIC5jYXB0aW9uIHsNCiAgICBwYWRkaW5nOiA5cHg7DQogICAgY29sb3I6ICMzMzM7DQogIH0NCiAgLmFsZXJ0IHsNCiAgICBwYWRkaW5nOiAxNXB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIC5hbGVydCBoNCB7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgfQ0KICAuYWxlcnQgLmFsZXJ0LWxpbmsgew0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICB9DQogIC5hbGVydCA+IHAsDQogIC5hbGVydCA+IHVsIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICB9DQogIC5hbGVydCA+IHAgKyBwIHsNCiAgICBtYXJnaW4tdG9wOiA1cHg7DQogIH0NCiAgLmFsZXJ0LWRpc21pc3NhYmxlLA0KICAuYWxlcnQtZGlzbWlzc2libGUgew0KICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7DQogIH0NCiAgLmFsZXJ0LWRpc21pc3NhYmxlIC5jbG9zZSwNCiAgLmFsZXJ0LWRpc21pc3NpYmxlIC5jbG9zZSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHRvcDogLTJweDsNCiAgICByaWdodDogLTIxcHg7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgLmFsZXJ0LXN1Y2Nlc3Mgew0KICAgIGNvbG9yOiAjM2M3NjNkOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7DQogICAgYm9yZGVyLWNvbG9yOiAjZDZlOWM2Ow0KICB9DQogIC5hbGVydC1zdWNjZXNzIGhyIHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjYzllMmIzOw0KICB9DQogIC5hbGVydC1zdWNjZXNzIC5hbGVydC1saW5rIHsNCiAgICBjb2xvcjogIzJiNTQyYzsNCiAgfQ0KICAuYWxlcnQtaW5mbyB7DQogICAgY29sb3I6ICMzMTcwOGY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNzsNCiAgICBib3JkZXItY29sb3I6ICNiY2U4ZjE7DQogIH0NCiAgLmFsZXJ0LWluZm8gaHIgew0KICAgIGJvcmRlci10b3AtY29sb3I6ICNhNmUxZWM7DQogIH0NCiAgLmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmsgew0KICAgIGNvbG9yOiAjMjQ1MjY5Ow0KICB9DQogIC5hbGVydC13YXJuaW5nIHsNCiAgICBjb2xvcjogIzhhNmQzYjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOw0KICAgIGJvcmRlci1jb2xvcjogI2ZhZWJjYzsNCiAgfQ0KICAuYWxlcnQtd2FybmluZyBociB7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogI2Y3ZTFiNTsNCiAgfQ0KICAuYWxlcnQtd2FybmluZyAuYWxlcnQtbGluayB7DQogICAgY29sb3I6ICM2NjUxMmM7DQogIH0NCiAgLmFsZXJ0LWRhbmdlciB7DQogICAgY29sb3I6ICNhOTQ0NDI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTsNCiAgICBib3JkZXItY29sb3I6ICNlYmNjZDE7DQogIH0NCiAgLmFsZXJ0LWRhbmdlciBociB7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogI2U0YjljMDsNCiAgfQ0KICAuYWxlcnQtZGFuZ2VyIC5hbGVydC1saW5rIHsNCiAgICBjb2xvcjogIzg0MzUzNDsNCiAgfQ0KICBALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgew0KICAgIGZyb20gew0KICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOw0KICAgIH0NCiAgICB0byB7DQogICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7DQogICAgfQ0KICB9DQogIEAtby1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgew0KICAgIGZyb20gew0KICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOw0KICAgIH0NCiAgICB0byB7DQogICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7DQogICAgfQ0KICB9DQogIEBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgew0KICAgIGZyb20gew0KICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOw0KICAgIH0NCiAgICB0byB7DQogICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7DQogICAgfQ0KICB9DQogIC5wcm9ncmVzcyB7DQogICAgaGVpZ2h0OiAyMHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC4xKTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC4xKTsNCiAgfQ0KICAucHJvZ3Jlc3MtYmFyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMDsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAuMTUpOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAuMTUpOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggLjZzIGVhc2U7DQogICAgICAgICAtby10cmFuc2l0aW9uOiB3aWR0aCAuNnMgZWFzZTsNCiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC42cyBlYXNlOw0KICB9DQogIC5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXIsDQogIC5wcm9ncmVzcy1iYXItc3RyaXBlZCB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgIC1vLWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgICAgbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDsNCiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4Ow0KICB9DQogIC5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhciwNCiAgLnByb2dyZXNzLWJhci5hY3RpdmUgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7DQogICAgICAgICAtby1hbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTsNCiAgICAgICAgICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlOw0KICB9DQogIC5wcm9ncmVzcy1iYXItc3VjY2VzcyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzVjYjg1YzsNCiAgfQ0KICAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3Mgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAtby1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgIGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICB9DQogIC5wcm9ncmVzcy1iYXItaW5mbyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzViYzBkZTsNCiAgfQ0KICAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLWluZm8gew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAtby1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgIGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICB9DQogIC5wcm9ncmVzcy1iYXItd2FybmluZyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTsNCiAgfQ0KICAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLXdhcm5pbmcgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAtby1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgIGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICB9DQogIC5wcm9ncmVzcy1iYXItZGFuZ2VyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1MzRmOw0KICB9DQogIC5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXItZGFuZ2VyIHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgfQ0KICAubWVkaWEgew0KICAgIG1hcmdpbi10b3A6IDE1cHg7DQogIH0NCiAgLm1lZGlhOmZpcnN0LWNoaWxkIHsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICB9DQogIC5tZWRpYSwNCiAgLm1lZGlhLWJvZHkgew0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgem9vbTogMTsNCiAgfQ0KICAubWVkaWEtYm9keSB7DQogICAgd2lkdGg6IDEwMDAwcHg7DQogIH0NCiAgLm1lZGlhLW9iamVjdCB7DQogICAgZGlzcGxheTogYmxvY2s7DQogIH0NCiAgLm1lZGlhLW9iamVjdC5pbWctdGh1bWJuYWlsIHsNCiAgICBtYXgtd2lkdGg6IG5vbmU7DQogIH0NCiAgLm1lZGlhLXJpZ2h0LA0KICAubWVkaWEgPiAucHVsbC1yaWdodCB7DQogICAgcGFkZGluZy1sZWZ0OiAxMHB4Ow0KICB9DQogIC5tZWRpYS1sZWZ0LA0KICAubWVkaWEgPiAucHVsbC1sZWZ0IHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4Ow0KICB9DQogIC5tZWRpYS1sZWZ0LA0KICAubWVkaWEtcmlnaHQsDQogIC5tZWRpYS1ib2R5IHsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOw0KICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7DQogIH0NCiAgLm1lZGlhLW1pZGRsZSB7DQogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgfQ0KICAubWVkaWEtYm90dG9tIHsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOw0KICB9DQogIC5tZWRpYS1oZWFkaW5nIHsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDVweDsNCiAgfQ0KICAubWVkaWEtbGlzdCB7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogIH0NCiAgLmxpc3QtZ3JvdXAgew0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7DQogICAgbWFyZ2luLWJvdHRvbTogLTFweDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4Ow0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtIHsNCiAgICBjb2xvcjogIzU1NTsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbSAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHsNCiAgICBjb2xvcjogIzMzMzsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbTpob3ZlciwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbTpob3ZlciwNCiAgYS5saXN0LWdyb3VwLWl0ZW06Zm9jdXMsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW06Zm9jdXMgew0KICAgIGNvbG9yOiAjNTU1Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KICB9DQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0gew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3ZlciwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyB7DQogICAgY29sb3I6ICM3Nzc7DQogICAgY3Vyc29yOiBub3QtYWxsb3dlZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOw0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLA0KICAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywNCiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgew0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LA0KICAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyAubGlzdC1ncm91cC1pdGVtLXRleHQgew0KICAgIGNvbG9yOiAjNzc3Ow0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlLA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgew0KICAgIHotaW5kZXg6IDI7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgICBib3JkZXItY29sb3I6ICMzMzdhYjc7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsDQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywNCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsDQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiBzbWFsbCwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gLnNtYWxsLA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiAuc21hbGwsDQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLXRleHQsDQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7DQogICAgY29sb3I6ICNjN2RkZWY7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIHsNCiAgICBjb2xvcjogIzNjNzYzZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4Ow0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyB7DQogICAgY29sb3I6ICMzYzc2M2Q7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgew0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6aG92ZXIsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3ZlciwNCiAgYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpmb2N1cywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmZvY3VzIHsNCiAgICBjb2xvcjogIzNjNzYzZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBlOWM2Ow0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlLA0KICBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3ZlciwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3ZlciwNCiAgYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzYzc2M2Q7DQogICAgYm9yZGVyLWNvbG9yOiAjM2M3NjNkOw0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0taW5mbyB7DQogICAgY29sb3I6ICMzMTcwOGY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNzsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8gew0KICAgIGNvbG9yOiAjMzE3MDhmOw0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLWluZm8gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmhvdmVyLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm86aG92ZXIsDQogIGEubGlzdC1ncm91cC1pdGVtLWluZm86Zm9jdXMsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbzpmb2N1cyB7DQogICAgY29sb3I6ICMzMTcwOGY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2M0ZTNmMzsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZSwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZSwNCiAgYS5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6aG92ZXIsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6aG92ZXIsDQogIGEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmZvY3VzLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzE3MDhmOw0KICAgIGJvcmRlci1jb2xvcjogIzMxNzA4ZjsNCiAgfQ0KICAubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcgew0KICAgIGNvbG9yOiAjOGE2ZDNiOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHsNCiAgICBjb2xvcjogIzhhNmQzYjsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpob3ZlciwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmhvdmVyLA0KICBhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmZvY3VzLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6Zm9jdXMgew0KICAgIGNvbG9yOiAjOGE2ZDNiOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWYyY2M7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmUsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmUsDQogIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyLA0KICBhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpmb2N1cywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzhhNmQzYjsNCiAgICBib3JkZXItY29sb3I6ICM4YTZkM2I7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIgew0KICAgIGNvbG9yOiAjYTk0NDQyOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlciB7DQogICAgY29sb3I6ICNhOTQ0NDI7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6aG92ZXIsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmhvdmVyLA0KICBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6Zm9jdXMsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzIHsNCiAgICBjb2xvcjogI2E5NDQ0MjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJjY2NjOw0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmUsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZSwNCiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpob3ZlciwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmhvdmVyLA0KICBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmZvY3VzLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmU6Zm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNhOTQ0NDI7DQogICAgYm9yZGVyLWNvbG9yOiAjYTk0NDQyOw0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiA1cHg7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjM7DQogIH0NCiAgLnBhbmVsIHsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNSk7DQogIH0NCiAgLnBhbmVsLWJvZHkgew0KICAgIHBhZGRpbmc6IDE1cHg7DQogIH0NCiAgLnBhbmVsLWhlYWRpbmcgew0KICAgIHBhZGRpbmc6IDEwcHggMTVweDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsLWhlYWRpbmcgPiAuZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZSB7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgLnBhbmVsLXRpdGxlIHsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICB9DQogIC5wYW5lbC10aXRsZSA+IGEsDQogIC5wYW5lbC10aXRsZSA+IHNtYWxsLA0KICAucGFuZWwtdGl0bGUgPiAuc21hbGwsDQogIC5wYW5lbC10aXRsZSA+IHNtYWxsID4gYSwNCiAgLnBhbmVsLXRpdGxlID4gLnNtYWxsID4gYSB7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgLnBhbmVsLWZvb3RlciB7DQogICAgcGFkZGluZzogMTBweCAxNXB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsID4gLmxpc3QtZ3JvdXAsDQogIC5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICB9DQogIC5wYW5lbCA+IC5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW0sDQogIC5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW0gew0KICAgIGJvcmRlci13aWR0aDogMXB4IDA7DQogICAgYm9yZGVyLXJhZGl1czogMDsNCiAgfQ0KICAucGFuZWwgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItdG9wOiAwOw0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4Ow0KICB9DQogIC5wYW5lbCA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7DQogICAgYm9yZGVyLWJvdHRvbTogMDsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFuZWwgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQgew0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7DQogIH0NCiAgLnBhbmVsLWhlYWRpbmcgKyAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItdG9wLXdpZHRoOiAwOw0KICB9DQogIC5saXN0LWdyb3VwICsgLnBhbmVsLWZvb3RlciB7DQogICAgYm9yZGVyLXRvcC13aWR0aDogMDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGUsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLA0KICAucGFuZWwgPiAucGFuZWwtY29sbGFwc2UgPiAudGFibGUgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlIGNhcHRpb24sDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlIGNhcHRpb24sDQogIC5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC50YWJsZSBjYXB0aW9uIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkIHsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgew0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4Ow0KICB9DQogIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkIHsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Ow0KICB9DQogIC5wYW5lbCA+IC5wYW5lbC1ib2R5ICsgLnRhYmxlLA0KICAucGFuZWwgPiAucGFuZWwtYm9keSArIC50YWJsZS1yZXNwb25zaXZlLA0KICAucGFuZWwgPiAudGFibGUgKyAucGFuZWwtYm9keSwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgKyAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aCwNCiAgLnBhbmVsID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZCB7DQogICAgYm9yZGVyLXRvcDogMDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHsNCiAgICBib3JkZXI6IDA7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLWxlZnQ6IDA7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6bGFzdC1jaGlsZCB7DQogICAgYm9yZGVyLXJpZ2h0OiAwOw0KICB9DQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGggew0KICAgIGJvcmRlci1ib3R0b206IDA7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkLA0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmxhc3QtY2hpbGQgPiB0aCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmxhc3QtY2hpbGQgPiB0aCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGgsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGggew0KICAgIGJvcmRlci1ib3R0b206IDA7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgYm9yZGVyOiAwOw0KICB9DQogIC5wYW5lbC1ncm91cCB7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgfQ0KICAucGFuZWwtZ3JvdXAgLnBhbmVsIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICAucGFuZWwtZ3JvdXAgLnBhbmVsICsgLnBhbmVsIHsNCiAgICBtYXJnaW4tdG9wOiA1cHg7DQogIH0NCiAgLnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5nIHsNCiAgICBib3JkZXItYm90dG9tOiAwOw0KICB9DQogIC5wYW5lbC1ncm91cCAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5LA0KICAucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7DQogIH0NCiAgLnBhbmVsLWdyb3VwIC5wYW5lbC1mb290ZXIgew0KICAgIGJvcmRlci10b3A6IDA7DQogIH0NCiAgLnBhbmVsLWdyb3VwIC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgLnBhbmVsLWJvZHkgew0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOw0KICB9DQogIC5wYW5lbC1kZWZhdWx0IHsNCiAgICBib3JkZXItY29sb3I6ICNkZGQ7DQogIH0NCiAgLnBhbmVsLWRlZmF1bHQgPiAucGFuZWwtaGVhZGluZyB7DQogICAgY29sb3I6ICMzMzM7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiAgICBib3JkZXItY29sb3I6ICNkZGQ7DQogIH0NCiAgLnBhbmVsLWRlZmF1bHQgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjZGRkOw0KICB9DQogIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHsNCiAgICBjb2xvcjogI2Y1ZjVmNTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOw0KICB9DQogIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWZvb3RlciArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGRkOw0KICB9DQogIC5wYW5lbC1wcmltYXJ5IHsNCiAgICBib3JkZXItY29sb3I6ICMzMzdhYjc7DQogIH0NCiAgLnBhbmVsLXByaW1hcnkgPiAucGFuZWwtaGVhZGluZyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgICBib3JkZXItY29sb3I6ICMzMzdhYjc7DQogIH0NCiAgLnBhbmVsLXByaW1hcnkgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIC5wYW5lbC1wcmltYXJ5ID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHsNCiAgICBjb2xvcjogIzMzN2FiNzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICB9DQogIC5wYW5lbC1wcmltYXJ5ID4gLnBhbmVsLWZvb3RlciArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIC5wYW5lbC1zdWNjZXNzIHsNCiAgICBib3JkZXItY29sb3I6ICNkNmU5YzY7DQogIH0NCiAgLnBhbmVsLXN1Y2Nlc3MgPiAucGFuZWwtaGVhZGluZyB7DQogICAgY29sb3I6ICMzYzc2M2Q7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODsNCiAgICBib3JkZXItY29sb3I6ICNkNmU5YzY7DQogIH0NCiAgLnBhbmVsLXN1Y2Nlc3MgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjZDZlOWM2Ow0KICB9DQogIC5wYW5lbC1zdWNjZXNzID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHsNCiAgICBjb2xvcjogI2RmZjBkODsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M3NjNkOw0KICB9DQogIC5wYW5lbC1zdWNjZXNzID4gLnBhbmVsLWZvb3RlciArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDZlOWM2Ow0KICB9DQogIC5wYW5lbC1pbmZvIHsNCiAgICBib3JkZXItY29sb3I6ICNiY2U4ZjE7DQogIH0NCiAgLnBhbmVsLWluZm8gPiAucGFuZWwtaGVhZGluZyB7DQogICAgY29sb3I6ICMzMTcwOGY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNzsNCiAgICBib3JkZXItY29sb3I6ICNiY2U4ZjE7DQogIH0NCiAgLnBhbmVsLWluZm8gPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjYmNlOGYxOw0KICB9DQogIC5wYW5lbC1pbmZvID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHsNCiAgICBjb2xvcjogI2Q5ZWRmNzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzE3MDhmOw0KICB9DQogIC5wYW5lbC1pbmZvID4gLnBhbmVsLWZvb3RlciArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjYmNlOGYxOw0KICB9DQogIC5wYW5lbC13YXJuaW5nIHsNCiAgICBib3JkZXItY29sb3I6ICNmYWViY2M7DQogIH0NCiAgLnBhbmVsLXdhcm5pbmcgPiAucGFuZWwtaGVhZGluZyB7DQogICAgY29sb3I6ICM4YTZkM2I7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMzsNCiAgICBib3JkZXItY29sb3I6ICNmYWViY2M7DQogIH0NCiAgLnBhbmVsLXdhcm5pbmcgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmFlYmNjOw0KICB9DQogIC5wYW5lbC13YXJuaW5nID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHsNCiAgICBjb2xvcjogI2ZjZjhlMzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE2ZDNiOw0KICB9DQogIC5wYW5lbC13YXJuaW5nID4gLnBhbmVsLWZvb3RlciArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmFlYmNjOw0KICB9DQogIC5wYW5lbC1kYW5nZXIgew0KICAgIGJvcmRlci1jb2xvcjogI2ViY2NkMTsNCiAgfQ0KICAucGFuZWwtZGFuZ2VyID4gLnBhbmVsLWhlYWRpbmcgew0KICAgIGNvbG9yOiAjYTk0NDQyOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7DQogICAgYm9yZGVyLWNvbG9yOiAjZWJjY2QxOw0KICB9DQogIC5wYW5lbC1kYW5nZXIgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWJjY2QxOw0KICB9DQogIC5wYW5lbC1kYW5nZXIgPiAucGFuZWwtaGVhZGluZyAuYmFkZ2Ugew0KICAgIGNvbG9yOiAjZjJkZWRlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNhOTQ0NDI7DQogIH0NCiAgLnBhbmVsLWRhbmdlciA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ViY2NkMTsNCiAgfQ0KICAuZW1iZWQtcmVzcG9uc2l2ZSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGhlaWdodDogMDsNCiAgICBwYWRkaW5nOiAwOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogIH0NCiAgLmVtYmVkLXJlc3BvbnNpdmUgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSwNCiAgLmVtYmVkLXJlc3BvbnNpdmUgaWZyYW1lLA0KICAuZW1iZWQtcmVzcG9uc2l2ZSBlbWJlZCwNCiAgLmVtYmVkLXJlc3BvbnNpdmUgb2JqZWN0LA0KICAuZW1iZWQtcmVzcG9uc2l2ZSB2aWRlbyB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgYm9yZGVyOiAwOw0KICB9DQogIC5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHsNCiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOw0KICB9DQogIC5lbWJlZC1yZXNwb25zaXZlLTRieTMgew0KICAgIHBhZGRpbmctYm90dG9tOiA3NSU7DQogIH0NCiAgLndlbGwgew0KICAgIG1pbi1oZWlnaHQ6IDIwcHg7DQogICAgcGFkZGluZzogMTlweDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2UzZTNlMzsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDUpOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA1KTsNCiAgfQ0KICAud2VsbCBibG9ja3F1b3RlIHsNCiAgICBib3JkZXItY29sb3I6ICNkZGQ7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xNSk7DQogIH0NCiAgLndlbGwtbGcgew0KICAgIHBhZGRpbmc6IDI0cHg7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICB9DQogIC53ZWxsLXNtIHsNCiAgICBwYWRkaW5nOiA5cHg7DQogICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KICB9DQogIC5jbG9zZSB7DQogICAgZmxvYXQ6IHJpZ2h0Ow0KICAgIGZvbnQtc2l6ZTogMjFweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICBjb2xvcjogIzAwMDsNCiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmOw0KICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0yMCk7DQogICAgb3BhY2l0eTogLjI7DQogIH0NCiAgLmNsb3NlOmhvdmVyLA0KICAuY2xvc2U6Zm9jdXMgew0KICAgIGNvbG9yOiAjMDAwOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTsNCiAgICBvcGFjaXR5OiAuNTsNCiAgfQ0KICBidXR0b24uY2xvc2Ugew0KICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXI6IDA7DQogIH0NCiAgLm1vZGFsLW9wZW4gew0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogIH0NCiAgLm1vZGFsIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgdG9wOiAwOw0KICAgIHJpZ2h0OiAwOw0KICAgIGJvdHRvbTogMDsNCiAgICBsZWZ0OiAwOw0KICAgIHotaW5kZXg6IDEwNTA7DQogICAgZGlzcGxheTogbm9uZTsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsNCiAgICBvdXRsaW5lOiAwOw0KICB9DQogIC5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cgew0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGVhc2Utb3V0Ow0KICAgICAgICAgLW8tdHJhbnNpdGlvbjogICAgICAtby10cmFuc2Zvcm0gLjNzIGVhc2Utb3V0Ow0KICAgICAgICAgICAgdHJhbnNpdGlvbjogICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0Ow0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7DQogICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTsNCiAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7DQogIH0NCiAgLm1vZGFsLmluIC5tb2RhbC1kaWFsb2cgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7DQogICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsNCiAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7DQogIH0NCiAgLm1vZGFsLW9wZW4gLm1vZGFsIHsNCiAgICBvdmVyZmxvdy14OiBoaWRkZW47DQogICAgb3ZlcmZsb3cteTogYXV0bzsNCiAgfQ0KICAubW9kYWwtZGlhbG9nIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgd2lkdGg6IGF1dG87DQogICAgbWFyZ2luOiAxMHB4Ow0KICB9DQogIC5tb2RhbC1jb250ZW50IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7DQogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMik7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICAgIG91dGxpbmU6IDA7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCA5cHggcmdiYSgwLCAwLCAwLCAuNSk7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCA5cHggcmdiYSgwLCAwLCAwLCAuNSk7DQogIH0NCiAgLm1vZGFsLWJhY2tkcm9wIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgdG9wOiAwOw0KICAgIHJpZ2h0OiAwOw0KICAgIGJvdHRvbTogMDsNCiAgICBsZWZ0OiAwOw0KICAgIHotaW5kZXg6IDEwNDA7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsNCiAgfQ0KICAubW9kYWwtYmFja2Ryb3AuZmFkZSB7DQogICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgLm1vZGFsLWJhY2tkcm9wLmluIHsNCiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApOw0KICAgIG9wYWNpdHk6IC41Ow0KICB9DQogIC5tb2RhbC1oZWFkZXIgew0KICAgIHBhZGRpbmc6IDE1cHg7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7DQogIH0NCiAgLm1vZGFsLWhlYWRlciAuY2xvc2Ugew0KICAgIG1hcmdpbi10b3A6IC0ycHg7DQogIH0NCiAgLm1vZGFsLXRpdGxlIHsNCiAgICBtYXJnaW46IDA7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogIH0NCiAgLm1vZGFsLWJvZHkgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBwYWRkaW5nOiAxNXB4Ow0KICB9DQogIC5tb2RhbC1mb290ZXIgew0KICAgIHBhZGRpbmc6IDE1cHg7DQogICAgdGV4dC1hbGlnbjogcmlnaHQ7DQogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7DQogIH0NCiAgLm1vZGFsLWZvb3RlciAuYnRuICsgLmJ0biB7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICBtYXJnaW4tbGVmdDogNXB4Ow0KICB9DQogIC5tb2RhbC1mb290ZXIgLmJ0bi1ncm91cCAuYnRuICsgLmJ0biB7DQogICAgbWFyZ2luLWxlZnQ6IC0xcHg7DQogIH0NCiAgLm1vZGFsLWZvb3RlciAuYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7DQogICAgbWFyZ2luLWxlZnQ6IDA7DQogIH0NCiAgLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAtOTk5OXB4Ow0KICAgIHdpZHRoOiA1MHB4Ow0KICAgIGhlaWdodDogNTBweDsNCiAgICBvdmVyZmxvdzogc2Nyb2xsOw0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5tb2RhbC1kaWFsb2cgew0KICAgICAgd2lkdGg6IDYwMHB4Ow0KICAgICAgbWFyZ2luOiAzMHB4IGF1dG87DQogICAgfQ0KICAgIC5tb2RhbC1jb250ZW50IHsNCiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIC41KTsNCiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIC41KTsNCiAgICB9DQogICAgLm1vZGFsLXNtIHsNCiAgICAgIHdpZHRoOiAzMDBweDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7DQogICAgLm1vZGFsLWxnIHsNCiAgICAgIHdpZHRoOiA5MDBweDsNCiAgICB9DQogIH0NCiAgLnRvb2x0aXAgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB6LWluZGV4OiAxMDcwOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIHRleHQtYWxpZ246IHN0YXJ0Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsNCiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOw0KICAgIHdvcmQtYnJlYWs6IG5vcm1hbDsNCiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDsNCiAgICB3b3JkLXdyYXA6IG5vcm1hbDsNCiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOw0KICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsNCiAgICBvcGFjaXR5OiAwOw0KICANCiAgICBsaW5lLWJyZWFrOiBhdXRvOw0KICB9DQogIC50b29sdGlwLmluIHsNCiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9OTApOw0KICAgIG9wYWNpdHk6IC45Ow0KICB9DQogIC50b29sdGlwLnRvcCB7DQogICAgcGFkZGluZzogNXB4IDA7DQogICAgbWFyZ2luLXRvcDogLTNweDsNCiAgfQ0KICAudG9vbHRpcC5yaWdodCB7DQogICAgcGFkZGluZzogMCA1cHg7DQogICAgbWFyZ2luLWxlZnQ6IDNweDsNCiAgfQ0KICAudG9vbHRpcC5ib3R0b20gew0KICAgIHBhZGRpbmc6IDVweCAwOw0KICAgIG1hcmdpbi10b3A6IDNweDsNCiAgfQ0KICAudG9vbHRpcC5sZWZ0IHsNCiAgICBwYWRkaW5nOiAwIDVweDsNCiAgICBtYXJnaW4tbGVmdDogLTNweDsNCiAgfQ0KICAudG9vbHRpcC1pbm5lciB7DQogICAgbWF4LXdpZHRoOiAyMDBweDsNCiAgICBwYWRkaW5nOiAzcHggOHB4Ow0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICAudG9vbHRpcC1hcnJvdyB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHdpZHRoOiAwOw0KICAgIGhlaWdodDogMDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogIH0NCiAgLnRvb2x0aXAudG9wIC50b29sdGlwLWFycm93IHsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogNTAlOw0KICAgIG1hcmdpbi1sZWZ0OiAtNXB4Ow0KICAgIGJvcmRlci13aWR0aDogNXB4IDVweCAwOw0KICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDA7DQogIH0NCiAgLnRvb2x0aXAudG9wLWxlZnQgLnRvb2x0aXAtYXJyb3cgew0KICAgIHJpZ2h0OiA1cHg7DQogICAgYm90dG9tOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IC01cHg7DQogICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDA7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsNCiAgfQ0KICAudG9vbHRpcC50b3AtcmlnaHQgLnRvb2x0aXAtYXJyb3cgew0KICAgIGJvdHRvbTogMDsNCiAgICBsZWZ0OiA1cHg7DQogICAgbWFyZ2luLWJvdHRvbTogLTVweDsNCiAgICBib3JkZXItd2lkdGg6IDVweCA1cHggMDsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwOw0KICB9DQogIC50b29sdGlwLnJpZ2h0IC50b29sdGlwLWFycm93IHsNCiAgICB0b3A6IDUwJTsNCiAgICBsZWZ0OiAwOw0KICAgIG1hcmdpbi10b3A6IC01cHg7DQogICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwOw0KICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzAwMDsNCiAgfQ0KICAudG9vbHRpcC5sZWZ0IC50b29sdGlwLWFycm93IHsNCiAgICB0b3A6IDUwJTsNCiAgICByaWdodDogMDsNCiAgICBtYXJnaW4tdG9wOiAtNXB4Ow0KICAgIGJvcmRlci13aWR0aDogNXB4IDAgNXB4IDVweDsNCiAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDsNCiAgfQ0KICAudG9vbHRpcC5ib3R0b20gLnRvb2x0aXAtYXJyb3cgew0KICAgIHRvcDogMDsNCiAgICBsZWZ0OiA1MCU7DQogICAgbWFyZ2luLWxlZnQ6IC01cHg7DQogICAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDsNCiAgfQ0KICAudG9vbHRpcC5ib3R0b20tbGVmdCAudG9vbHRpcC1hcnJvdyB7DQogICAgdG9wOiAwOw0KICAgIHJpZ2h0OiA1cHg7DQogICAgbWFyZ2luLXRvcDogLTVweDsNCiAgICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwOw0KICB9DQogIC50b29sdGlwLmJvdHRvbS1yaWdodCAudG9vbHRpcC1hcnJvdyB7DQogICAgdG9wOiAwOw0KICAgIGxlZnQ6IDVweDsNCiAgICBtYXJnaW4tdG9wOiAtNXB4Ow0KICAgIGJvcmRlci13aWR0aDogMCA1cHggNXB4Ow0KICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7DQogIH0NCiAgLnBvcG92ZXIgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgbGVmdDogMDsNCiAgICB6LWluZGV4OiAxMDYwOw0KICAgIGRpc3BsYXk6IG5vbmU7DQogICAgbWF4LXdpZHRoOiAyNzZweDsNCiAgICBwYWRkaW5nOiAxcHg7DQogICAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgdGV4dC1hbGlnbjogc3RhcnQ7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtc2hhZG93OiBub25lOw0KICAgIHRleHQtdHJhbnNmb3JtOiBub25lOw0KICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7DQogICAgd29yZC1icmVhazogbm9ybWFsOw0KICAgIHdvcmQtc3BhY2luZzogbm9ybWFsOw0KICAgIHdvcmQtd3JhcDogbm9ybWFsOw0KICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMik7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIC4yKTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMik7DQogIA0KICAgIGxpbmUtYnJlYWs6IGF1dG87DQogIH0NCiAgLnBvcG92ZXIudG9wIHsNCiAgICBtYXJnaW4tdG9wOiAtMTBweDsNCiAgfQ0KICAucG9wb3Zlci5yaWdodCB7DQogICAgbWFyZ2luLWxlZnQ6IDEwcHg7DQogIH0NCiAgLnBvcG92ZXIuYm90dG9tIHsNCiAgICBtYXJnaW4tdG9wOiAxMHB4Ow0KICB9DQogIC5wb3BvdmVyLmxlZnQgew0KICAgIG1hcmdpbi1sZWZ0OiAtMTBweDsNCiAgfQ0KICAucG9wb3Zlci10aXRsZSB7DQogICAgcGFkZGluZzogOHB4IDE0cHg7DQogICAgbWFyZ2luOiAwOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViOw0KICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwOw0KICB9DQogIC5wb3BvdmVyLWNvbnRlbnQgew0KICAgIHBhZGRpbmc6IDlweCAxNHB4Ow0KICB9DQogIC5wb3BvdmVyID4gLmFycm93LA0KICAucG9wb3ZlciA+IC5hcnJvdzphZnRlciB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAwOw0KICAgIGhlaWdodDogMDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogIH0NCiAgLnBvcG92ZXIgPiAuYXJyb3cgew0KICAgIGJvcmRlci13aWR0aDogMTFweDsNCiAgfQ0KICAucG9wb3ZlciA+IC5hcnJvdzphZnRlciB7DQogICAgY29udGVudDogIiI7DQogICAgYm9yZGVyLXdpZHRoOiAxMHB4Ow0KICB9DQogIC5wb3BvdmVyLnRvcCA+IC5hcnJvdyB7DQogICAgYm90dG9tOiAtMTFweDsNCiAgICBsZWZ0OiA1MCU7DQogICAgbWFyZ2luLWxlZnQ6IC0xMXB4Ow0KICAgIGJvcmRlci10b3AtY29sb3I6ICM5OTk7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMjUpOw0KICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7DQogIH0NCiAgLnBvcG92ZXIudG9wID4gLmFycm93OmFmdGVyIHsNCiAgICBib3R0b206IDFweDsNCiAgICBtYXJnaW4tbGVmdDogLTEwcHg7DQogICAgY29udGVudDogIiAiOw0KICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7DQogICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsNCiAgfQ0KICAucG9wb3Zlci5yaWdodCA+IC5hcnJvdyB7DQogICAgdG9wOiA1MCU7DQogICAgbGVmdDogLTExcHg7DQogICAgbWFyZ2luLXRvcDogLTExcHg7DQogICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjOTk5Ow0KICAgIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMjUpOw0KICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOw0KICB9DQogIC5wb3BvdmVyLnJpZ2h0ID4gLmFycm93OmFmdGVyIHsNCiAgICBib3R0b206IC0xMHB4Ow0KICAgIGxlZnQ6IDFweDsNCiAgICBjb250ZW50OiAiICI7DQogICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOw0KICB9DQogIC5wb3BvdmVyLmJvdHRvbSA+IC5hcnJvdyB7DQogICAgdG9wOiAtMTFweDsNCiAgICBsZWZ0OiA1MCU7DQogICAgbWFyZ2luLWxlZnQ6IC0xMXB4Ow0KICAgIGJvcmRlci10b3Atd2lkdGg6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzk5OTsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yNSk7DQogIH0NCiAgLnBvcG92ZXIuYm90dG9tID4gLmFycm93OmFmdGVyIHsNCiAgICB0b3A6IDFweDsNCiAgICBtYXJnaW4tbGVmdDogLTEwcHg7DQogICAgY29udGVudDogIiAiOw0KICAgIGJvcmRlci10b3Atd2lkdGg6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsNCiAgfQ0KICAucG9wb3Zlci5sZWZ0ID4gLmFycm93IHsNCiAgICB0b3A6IDUwJTsNCiAgICByaWdodDogLTExcHg7DQogICAgbWFyZ2luLXRvcDogLTExcHg7DQogICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOw0KICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjOTk5Ow0KICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yNSk7DQogIH0NCiAgLnBvcG92ZXIubGVmdCA+IC5hcnJvdzphZnRlciB7DQogICAgcmlnaHQ6IDFweDsNCiAgICBib3R0b206IC0xMHB4Ow0KICAgIGNvbnRlbnQ6ICIgIjsNCiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7DQogICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7DQogIH0NCiAgLmNhcm91c2VsIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIH0NCiAgLmNhcm91c2VsLWlubmVyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgd2lkdGg6IDEwMCU7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgfQ0KICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IG5vbmU7DQogICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNnMgZWFzZS1pbi1vdXQgbGVmdDsNCiAgICAgICAgIC1vLXRyYW5zaXRpb246IC42cyBlYXNlLWluLW91dCBsZWZ0Ow0KICAgICAgICAgICAgdHJhbnNpdGlvbjogLjZzIGVhc2UtaW4tb3V0IGxlZnQ7DQogIH0NCiAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0gPiBpbWcsDQogIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtID4gYSA+IGltZyB7DQogICAgbGluZS1oZWlnaHQ6IDE7DQogIH0NCiAgQG1lZGlhIGFsbCBhbmQgKHRyYW5zZm9ybS0zZCksICgtd2Via2l0LXRyYW5zZm9ybS0zZCkgew0KICAgIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtIHsNCiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0Ow0KICAgICAgICAgICAtby10cmFuc2l0aW9uOiAgICAgIC1vLXRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQ7DQogICAgICAgICAgICAgIHRyYW5zaXRpb246ICAgICAgICAgdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDsNCiAgDQogICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgICAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMTAwMHB4Ow0KICAgICAgICAgICAgICBwZXJzcGVjdGl2ZTogMTAwMHB4Ow0KICAgIH0NCiAgICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5uZXh0LA0KICAgIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLmFjdGl2ZS5yaWdodCB7DQogICAgICBsZWZ0OiAwOw0KICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgIH0NCiAgICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5wcmV2LA0KICAgIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLmFjdGl2ZS5sZWZ0IHsNCiAgICAgIGxlZnQ6IDA7DQogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICB9DQogICAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0ubmV4dC5sZWZ0LA0KICAgIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLnByZXYucmlnaHQsDQogICAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0uYWN0aXZlIHsNCiAgICAgIGxlZnQ6IDA7DQogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgfQ0KICB9DQogIC5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUsDQogIC5jYXJvdXNlbC1pbm5lciA+IC5uZXh0LA0KICAuY2Fyb3VzZWwtaW5uZXIgPiAucHJldiB7DQogICAgZGlzcGxheTogYmxvY2s7DQogIH0NCiAgLmNhcm91c2VsLWlubmVyID4gLmFjdGl2ZSB7DQogICAgbGVmdDogMDsNCiAgfQ0KICAuY2Fyb3VzZWwtaW5uZXIgPiAubmV4dCwNCiAgLmNhcm91c2VsLWlubmVyID4gLnByZXYgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgd2lkdGg6IDEwMCU7DQogIH0NCiAgLmNhcm91c2VsLWlubmVyID4gLm5leHQgew0KICAgIGxlZnQ6IDEwMCU7DQogIH0NCiAgLmNhcm91c2VsLWlubmVyID4gLnByZXYgew0KICAgIGxlZnQ6IC0xMDAlOw0KICB9DQogIC5jYXJvdXNlbC1pbm5lciA+IC5uZXh0LmxlZnQsDQogIC5jYXJvdXNlbC1pbm5lciA+IC5wcmV2LnJpZ2h0IHsNCiAgICBsZWZ0OiAwOw0KICB9DQogIC5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUubGVmdCB7DQogICAgbGVmdDogLTEwMCU7DQogIH0NCiAgLmNhcm91c2VsLWlubmVyID4gLmFjdGl2ZS5yaWdodCB7DQogICAgbGVmdDogMTAwJTsNCiAgfQ0KICAuY2Fyb3VzZWwtY29udHJvbCB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICB3aWR0aDogMTUlOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC42KTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7DQogICAgb3BhY2l0eTogLjU7DQogIH0NCiAgLmNhcm91c2VsLWNvbnRyb2wubGVmdCB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAuNSkgMCUsIHJnYmEoMCwgMCwgMCwgLjAwMDEpIDEwMCUpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgLjUpIDAlLCByZ2JhKDAsIDAsIDAsIC4wMDAxKSAxMDAlKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIC41KSksIHRvKHJnYmEoMCwgMCwgMCwgLjAwMDEpKSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgLjUpIDAlLCByZ2JhKDAsIDAsIDAsIC4wMDAxKSAxMDAlKTsNCiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjODAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMDAwJywgR3JhZGllbnRUeXBlPTEpOw0KICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsNCiAgfQ0KICAuY2Fyb3VzZWwtY29udHJvbC5yaWdodCB7DQogICAgcmlnaHQ6IDA7DQogICAgbGVmdDogYXV0bzsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIC4wMDAxKSAwJSwgcmdiYSgwLCAwLCAwLCAuNSkgMTAwJSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAuMDAwMSkgMCUsIHJnYmEoMCwgMCwgMCwgLjUpIDEwMCUpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgLjAwMDEpKSwgdG8ocmdiYSgwLCAwLCAwLCAuNSkpKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAuMDAwMSkgMCUsIHJnYmEoMCwgMCwgMCwgLjUpIDEwMCUpOw0KICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyMwMDAwMDAwMCcsIGVuZENvbG9yc3RyPScjODAwMDAwMDAnLCBHcmFkaWVudFR5cGU9MSk7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14Ow0KICB9DQogIC5jYXJvdXNlbC1jb250cm9sOmhvdmVyLA0KICAuY2Fyb3VzZWwtY29udHJvbDpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT05MCk7DQogICAgb3V0bGluZTogMDsNCiAgICBvcGFjaXR5OiAuOTsNCiAgfQ0KICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2LA0KICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0LA0KICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCwNCiAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiA1MCU7DQogICAgei1pbmRleDogNTsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgbWFyZ2luLXRvcDogLTEwcHg7DQogIH0NCiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldiwNCiAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQgew0KICAgIGxlZnQ6IDUwJTsNCiAgICBtYXJnaW4tbGVmdDogLTEwcHg7DQogIH0NCiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCwNCiAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0IHsNCiAgICByaWdodDogNTAlOw0KICAgIG1hcmdpbi1yaWdodDogLTEwcHg7DQogIH0NCiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldiwNCiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7DQogICAgd2lkdGg6IDIwcHg7DQogICAgaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtZmFtaWx5OiBzZXJpZjsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgfQ0KICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2OmJlZm9yZSB7DQogICAgY29udGVudDogJ1wyMDM5JzsNCiAgfQ0KICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0OmJlZm9yZSB7DQogICAgY29udGVudDogJ1wyMDNhJzsNCiAgfQ0KICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGJvdHRvbTogMTBweDsNCiAgICBsZWZ0OiA1MCU7DQogICAgei1pbmRleDogMTU7DQogICAgd2lkdGg6IDYwJTsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbWFyZ2luLWxlZnQ6IC0zMCU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogIH0NCiAgLmNhcm91c2VsLWluZGljYXRvcnMgbGkgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogMTBweDsNCiAgICBoZWlnaHQ6IDEwcHg7DQogICAgbWFyZ2luOiAxcHg7DQogICAgdGV4dC1pbmRlbnQ6IC05OTlweDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCBcOTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7DQogICAgYm9yZGVyLXJhZGl1czogMTBweDsNCiAgfQ0KICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZlIHsNCiAgICB3aWR0aDogMTJweDsNCiAgICBoZWlnaHQ6IDEycHg7DQogICAgbWFyZ2luOiAwOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgLmNhcm91c2VsLWNhcHRpb24gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICByaWdodDogMTUlOw0KICAgIGJvdHRvbTogMjBweDsNCiAgICBsZWZ0OiAxNSU7DQogICAgei1pbmRleDogMTA7DQogICAgcGFkZGluZy10b3A6IDIwcHg7DQogICAgcGFkZGluZy1ib3R0b206IDIwcHg7DQogICAgY29sb3I6ICNmZmY7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAuNik7DQogIH0NCiAgLmNhcm91c2VsLWNhcHRpb24gLmJ0biB7DQogICAgdGV4dC1zaGFkb3c6IG5vbmU7DQogIH0NCiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCwNCiAgICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsDQogICAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldiwNCiAgICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHsNCiAgICAgIHdpZHRoOiAzMHB4Ow0KICAgICAgaGVpZ2h0OiAzMHB4Ow0KICAgICAgbWFyZ2luLXRvcDogLTEwcHg7DQogICAgICBmb250LXNpemU6IDMwcHg7DQogICAgfQ0KICAgIC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LA0KICAgIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXYgew0KICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4Ow0KICAgIH0NCiAgICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsDQogICAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7DQogICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4Ow0KICAgIH0NCiAgICAuY2Fyb3VzZWwtY2FwdGlvbiB7DQogICAgICByaWdodDogMjAlOw0KICAgICAgbGVmdDogMjAlOw0KICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7DQogICAgfQ0KICAgIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHsNCiAgICAgIGJvdHRvbTogMjBweDsNCiAgICB9DQogIH0NCiAgLmNsZWFyZml4OmJlZm9yZSwNCiAgLmNsZWFyZml4OmFmdGVyLA0KICAuZGwtaG9yaXpvbnRhbCBkZDpiZWZvcmUsDQogIC5kbC1ob3Jpem9udGFsIGRkOmFmdGVyLA0KICAuY29udGFpbmVyOmJlZm9yZSwNCiAgLmNvbnRhaW5lcjphZnRlciwNCiAgLmNvbnRhaW5lci1mbHVpZDpiZWZvcmUsDQogIC5jb250YWluZXItZmx1aWQ6YWZ0ZXIsDQogIC5yb3c6YmVmb3JlLA0KICAucm93OmFmdGVyLA0KICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwOmJlZm9yZSwNCiAgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDphZnRlciwNCiAgLmJ0bi10b29sYmFyOmJlZm9yZSwNCiAgLmJ0bi10b29sYmFyOmFmdGVyLA0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpiZWZvcmUsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmFmdGVyLA0KICAubmF2OmJlZm9yZSwNCiAgLm5hdjphZnRlciwNCiAgLm5hdmJhcjpiZWZvcmUsDQogIC5uYXZiYXI6YWZ0ZXIsDQogIC5uYXZiYXItaGVhZGVyOmJlZm9yZSwNCiAgLm5hdmJhci1oZWFkZXI6YWZ0ZXIsDQogIC5uYXZiYXItY29sbGFwc2U6YmVmb3JlLA0KICAubmF2YmFyLWNvbGxhcHNlOmFmdGVyLA0KICAucGFnZXI6YmVmb3JlLA0KICAucGFnZXI6YWZ0ZXIsDQogIC5wYW5lbC1ib2R5OmJlZm9yZSwNCiAgLnBhbmVsLWJvZHk6YWZ0ZXIsDQogIC5tb2RhbC1oZWFkZXI6YmVmb3JlLA0KICAubW9kYWwtaGVhZGVyOmFmdGVyLA0KICAubW9kYWwtZm9vdGVyOmJlZm9yZSwNCiAgLm1vZGFsLWZvb3RlcjphZnRlciB7DQogICAgZGlzcGxheTogdGFibGU7DQogICAgY29udGVudDogIiAiOw0KICB9DQogIC5jbGVhcmZpeDphZnRlciwNCiAgLmRsLWhvcml6b250YWwgZGQ6YWZ0ZXIsDQogIC5jb250YWluZXI6YWZ0ZXIsDQogIC5jb250YWluZXItZmx1aWQ6YWZ0ZXIsDQogIC5yb3c6YWZ0ZXIsDQogIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXA6YWZ0ZXIsDQogIC5idG4tdG9vbGJhcjphZnRlciwNCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6YWZ0ZXIsDQogIC5uYXY6YWZ0ZXIsDQogIC5uYXZiYXI6YWZ0ZXIsDQogIC5uYXZiYXItaGVhZGVyOmFmdGVyLA0KICAubmF2YmFyLWNvbGxhcHNlOmFmdGVyLA0KICAucGFnZXI6YWZ0ZXIsDQogIC5wYW5lbC1ib2R5OmFmdGVyLA0KICAubW9kYWwtaGVhZGVyOmFmdGVyLA0KICAubW9kYWwtZm9vdGVyOmFmdGVyIHsNCiAgICBjbGVhcjogYm90aDsNCiAgfQ0KICAuY2VudGVyLWJsb2NrIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogIH0NCiAgLnB1bGwtcmlnaHQgew0KICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50Ow0KICB9DQogIC5wdWxsLWxlZnQgew0KICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmhpZGUgew0KICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgfQ0KICAuc2hvdyB7DQogICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgfQ0KICAuaW52aXNpYmxlIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogIH0NCiAgLnRleHQtaGlkZSB7DQogICAgZm9udDogMC8wIGE7DQogICAgY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIHRleHQtc2hhZG93OiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlcjogMDsNCiAgfQ0KICAuaGlkZGVuIHsNCiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7DQogIH0NCiAgLmFmZml4IHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogIH0NCiAgQC1tcy12aWV3cG9ydCB7DQogICAgd2lkdGg6IGRldmljZS13aWR0aDsNCiAgfQ0KICAudmlzaWJsZS14cywNCiAgLnZpc2libGUtc20sDQogIC52aXNpYmxlLW1kLA0KICAudmlzaWJsZS1sZyB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIC52aXNpYmxlLXhzLWJsb2NrLA0KICAudmlzaWJsZS14cy1pbmxpbmUsDQogIC52aXNpYmxlLXhzLWlubGluZS1ibG9jaywNCiAgLnZpc2libGUtc20tYmxvY2ssDQogIC52aXNpYmxlLXNtLWlubGluZSwNCiAgLnZpc2libGUtc20taW5saW5lLWJsb2NrLA0KICAudmlzaWJsZS1tZC1ibG9jaywNCiAgLnZpc2libGUtbWQtaW5saW5lLA0KICAudmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssDQogIC52aXNpYmxlLWxnLWJsb2NrLA0KICAudmlzaWJsZS1sZy1pbmxpbmUsDQogIC52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgIC52aXNpYmxlLXhzIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIHRhYmxlLnZpc2libGUteHMgew0KICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsNCiAgICB9DQogICAgdHIudmlzaWJsZS14cyB7DQogICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsNCiAgICB9DQogICAgdGgudmlzaWJsZS14cywNCiAgICB0ZC52aXNpYmxlLXhzIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgLnZpc2libGUteHMtYmxvY2sgew0KICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgLnZpc2libGUteHMtaW5saW5lIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAudmlzaWJsZS14cy1pbmxpbmUtYmxvY2sgew0KICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7DQogICAgLnZpc2libGUtc20gew0KICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogICAgdGFibGUudmlzaWJsZS1zbSB7DQogICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0ci52aXNpYmxlLXNtIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0aC52aXNpYmxlLXNtLA0KICAgIHRkLnZpc2libGUtc20gew0KICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgew0KICAgIC52aXNpYmxlLXNtLWJsb2NrIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7DQogICAgLnZpc2libGUtc20taW5saW5lIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgew0KICAgIC52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7DQogICAgLnZpc2libGUtbWQgew0KICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogICAgdGFibGUudmlzaWJsZS1tZCB7DQogICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0ci52aXNpYmxlLW1kIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0aC52aXNpYmxlLW1kLA0KICAgIHRkLnZpc2libGUtbWQgew0KICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsNCiAgICAudmlzaWJsZS1tZC1ibG9jayB7DQogICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsNCiAgICAudmlzaWJsZS1tZC1pbmxpbmUgew0KICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkgew0KICAgIC52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgew0KICAgIC52aXNpYmxlLWxnIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIHRhYmxlLnZpc2libGUtbGcgew0KICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsNCiAgICB9DQogICAgdHIudmlzaWJsZS1sZyB7DQogICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsNCiAgICB9DQogICAgdGgudmlzaWJsZS1sZywNCiAgICB0ZC52aXNpYmxlLWxnIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgew0KICAgIC52aXNpYmxlLWxnLWJsb2NrIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsNCiAgICAudmlzaWJsZS1sZy1pbmxpbmUgew0KICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsNCiAgICAudmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sgew0KICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgIC5oaWRkZW4teHMgew0KICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgew0KICAgIC5oaWRkZW4tc20gew0KICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsNCiAgICAuaGlkZGVuLW1kIHsNCiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgew0KICAgIC5oaWRkZW4tbGcgew0KICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICAudmlzaWJsZS1wcmludCB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIEBtZWRpYSBwcmludCB7DQogICAgLnZpc2libGUtcHJpbnQgew0KICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogICAgdGFibGUudmlzaWJsZS1wcmludCB7DQogICAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0ci52aXNpYmxlLXByaW50IHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0aC52aXNpYmxlLXByaW50LA0KICAgIHRkLnZpc2libGUtcHJpbnQgew0KICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICAudmlzaWJsZS1wcmludC1ibG9jayB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIEBtZWRpYSBwcmludCB7DQogICAgLnZpc2libGUtcHJpbnQtYmxvY2sgew0KICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgLnZpc2libGUtcHJpbnQtaW5saW5lIHsNCiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7DQogIH0NCiAgQG1lZGlhIHByaW50IHsNCiAgICAudmlzaWJsZS1wcmludC1pbmxpbmUgew0KICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIC52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIEBtZWRpYSBwcmludCB7DQogICAgLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgcHJpbnQgew0KICAgIC5oaWRkZW4tcHJpbnQgew0KICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICAvKiMgc291cmNlTWFwcGluZ1VSTD1ib290c3RyYXAuY3NzLm1hcCAqLw0KDQovKiBzbGljay5jc3MgKi8NCg0KLyogU2xpZGVyICovDQouc2xpY2stc2xpZGVyDQp7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KDQogICAgZGlzcGxheTogYmxvY2s7DQogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCg0KICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOw0KICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7DQoNCiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7DQogICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOw0KICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15Ow0KICAgICAgICB0b3VjaC1hY3Rpb246IHBhbi15Ow0KICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7DQp9DQoNCi5zbGljay1saXN0DQp7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KDQogICAgZGlzcGxheTogYmxvY2s7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCg0KICAgIG1hcmdpbjogMDsNCiAgICBwYWRkaW5nOiAwOw0KfQ0KLnNsaWNrLWxpc3Q6Zm9jdXMNCnsNCiAgICBvdXRsaW5lOiBub25lOw0KfQ0KLnNsaWNrLWxpc3QuZHJhZ2dpbmcNCnsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgY3Vyc29yOiBoYW5kOw0KfQ0KDQouc2xpY2stc2xpZGVyIC5zbGljay10cmFjaywNCi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3QNCnsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KfQ0KDQouc2xpY2stdHJhY2sNCnsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgdG9wOiAwOw0KICAgIGxlZnQ6IDA7DQoNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQp9DQouc2xpY2stdHJhY2s6YmVmb3JlLA0KLnNsaWNrLXRyYWNrOmFmdGVyDQp7DQogICAgZGlzcGxheTogdGFibGU7DQoNCiAgICBjb250ZW50OiAnJzsNCn0NCi5zbGljay10cmFjazphZnRlcg0Kew0KICAgIGNsZWFyOiBib3RoOw0KfQ0KLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrDQp7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KfQ0KDQouc2xpY2stc2xpZGUNCnsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIGZsb2F0OiBsZWZ0Ow0KDQogICAgaGVpZ2h0OiAxMDAlOw0KICAgIG1pbi1oZWlnaHQ6IDFweDsNCn0NCltkaXI9J3J0bCddIC5zbGljay1zbGlkZQ0Kew0KICAgIGZsb2F0OiByaWdodDsNCn0NCi5zbGljay1zbGlkZSBpbWcNCnsNCiAgICBkaXNwbGF5OiBibG9jazsNCn0NCi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZw0Kew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQouc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nDQp7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQp9DQouc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlDQp7DQogICAgZGlzcGxheTogYmxvY2s7DQp9DQouc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUNCnsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQp9DQouc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlDQp7DQogICAgZGlzcGxheTogYmxvY2s7DQoNCiAgICBoZWlnaHQ6IGF1dG87DQoNCiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCn0NCi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4gew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi8qIGluZGV4LmNzcyAqLw0KDQoqIHsNCiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsNCn0NCg0KaHRtbCwNCmJvZHkgew0KICAgIHBhZGRpbmc6IDAhaW1wb3J0YW50Ow0KICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7DQogICAgbWFyZ2luOiAwOw0KfQ0KDQouY29udGFpbmVyOm5vdCguLW1vYmlsZSk6bm90KC4tZGVza3RvcCkgew0KICAgIHdpZHRoOiAxMzUwcHg7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KfQ0KDQphIHsNCiAgICBvdXRsaW5lOiBub25lIWltcG9ydGFudDsNCn0NCg0KLm5vbmUgew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQoNCmltZyB7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KfQ0KDQovKiBIZWFkZXIgKi8NCg0KLm5hdi10b3AsDQoubGF5b3V0LWhlYWRlciB7DQogICAgZGlzcGxheTogbm9uZTsNCn0NCg0KLyogRm9vdGVyICovDQoNCi5mb290ZXItbWFpbiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZy1ib3R0b206IDYwcHghaW1wb3J0YW50Ow0KfQ0KDQovKiBNb2RhbCBSb2RhcMOpICovDQoNCi5tb2RhbFJvZGFwZSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgd2lkdGg6IDEwMCU7DQogICAgei1pbmRleDogOTk5OTk5OTk7DQogICAgYm94LXNoYWRvdzogMHB4IC0xNnB4IDI4cHggcmdiKDQ1IDQ3IDY0IC8gMTUlKSwgMHB4IC0zLjVweCA1cHggcmdiKDQ1IDQ3IDY0IC8gMjUlKTsNCn0NCg0KLm1vZGFsUm9kYXBlIC5jb250YWluZXIgLmNvbC1zbS0xMiB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7DQp9DQoNCi5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLnRleHRvIHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQp9DQoNCi5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLnRleHRvIC50aXR1bG8gew0KICAgIGNvbG9yOiAjQzk4MzAwOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMTAwJTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7DQp9DQoNCi5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLnRleHRvIC5ib3hQcmVjbyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KfQ0KDQoubW9kYWxSb2RhcGUgLmNvbnRhaW5lciAuY29sLXNtLTEyIC50ZXh0byAuYm94UHJlY28gLnByZWNvZGUgew0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBjb2xvcjogIzY2NjsNCiAgICBsaW5lLWhlaWdodDogMTAwJTsNCiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsNCiAgICBtYXJnaW4tYm90dG9tOiA1cHg7DQp9DQoNCi5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLnRleHRvIC5ib3hQcmVjbyAuYVBhcnRpciB7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGNvbG9yOiAjNjY2Ow0KICAgIGxpbmUtaGVpZ2h0OiAxMDAlOw0KICAgIG1hcmdpbi1ib3R0b206IDVweDsNCn0NCg0KLm1vZGFsUm9kYXBlIC5jb250YWluZXIgLmNvbC1zbS0xMiAudGV4dG8gLmJveFByZWNvIC5wcmVjb3BvciB7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGNvbG9yOiAjNDQ0NDQ0Ow0KICAgIGxpbmUtaGVpZ2h0OiAxMDAlOw0KfQ0KDQoubW9kYWxSb2RhcGUgLmNvbnRhaW5lciAuY29sLXNtLTEyIGEgew0KICAgIG1hcmdpbjogMDsNCiAgICBiYWNrZ3JvdW5kOiAjRjA5QzAwOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIHBhZGRpbmc6IDEwcHggMzBweDsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KDQovKiBNb2RhbCBWw61kZW8gKi8NCg0KI21vZGFsVmlkZW8gew0KICAgIHBvc2l0aW9uOiBmaXhlZDsNCiAgICBsZWZ0OiAwOw0KICAgIHJpZ2h0OiAwOw0KICAgIHRvcDogMDsNCiAgICBib3R0b206IDA7DQogICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpOw0KICAgIHotaW5kZXg6IDk5OTk5OTk5OTsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KDQojbW9kYWxWaWRlbyAuYm94RmxleCB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6IDA7DQogICAgcmlnaHQ6IDA7DQogICAgYm90dG9tOiAwOw0KICAgIHRvcDogMDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQp9DQoNCiNtb2RhbFZpZGVvIC5ib3hGbGV4IC5ib3hWaWRlbyB7DQogICAgd2lkdGg6IDgwMHB4Ow0KICAgIG1heC13aWR0aDogOTAlOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgIHBhZGRpbmc6IDMwcHg7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQojbW9kYWxWaWRlbyAuYm94RmxleCAuYm94VmlkZW8gLmZlY2hhVmlkZW8gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBjb2xvcjogI0E5QUJCRDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0b3A6IDRweDsNCiAgICByaWdodDogNHB4Ow0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMTAwJTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQp9DQoNCiNtb2RhbFZpZGVvIC5ib3hGbGV4IC5ib3hWaWRlbyAudmlkZW8tYmxvY2sgew0KICAgIG1heC13aWR0aDogMTAwJTsNCn0NCg0KI21vZGFsVmlkZW8gLmJveEZsZXggLmJveFZpZGVvIGlmcmFtZSB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgaGVpZ2h0OiA1MDBweDsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgICNtb2RhbFZpZGVvIC5ib3hGbGV4IC5ib3hWaWRlbyBpZnJhbWUgew0KICAgICAgICBoZWlnaHQ6IDE4MHB4Ow0KICAgIH0NCg0KICAgIC8qIE1vZGFsIFJvZGFww6kgKi8NCg0KICAgIC5tb2RhbFJvZGFwZSAuY29udGFpbmVyIHsNCiAgICAgICAgcGFkZGluZzogMCAxMHB4IWltcG9ydGFudDsNCiAgICB9DQoNCiAgICAubW9kYWxSb2RhcGUgLmNvbnRhaW5lciAuY29sLXNtLTEyIHsNCiAgICAgICAgcGFkZGluZzogMTVweCAwOw0KICAgIH0NCg0KICAgIC5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLnRleHRvIHsNCiAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgYWxpZ24taXRlbXM6IGluaXRpYWw7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgICAgIGZsZXg6IDE7DQogICAgfQ0KDQogICAgLm1vZGFsUm9kYXBlIC5jb250YWluZXIgLmNvbC1zbS0xMiAudGV4dG8gLnRpdHVsbyB7DQogICAgICAgIG1hcmdpbjogMCAwIDVweCAwOw0KICAgIH0NCg0KICAgIC5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLnRleHRvIHVsIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAubW9kYWxSb2RhcGUgLmNvbnRhaW5lciAuY29sLXNtLTEyIC50ZXh0byAuYm94UHJlY28gLnByZWNvRGUgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KICAgIC5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgLmJveE51bWVyb3MgI2Nsb2NrIC5ib3hEYWRvcyB7DQogICAgICAgIHBhZGRpbmc6IDhweCA4cHg7DQogICAgfQ0KDQogICAgLm1vZGFsUm9kYXBlIC5jb250YWluZXIgLmNvbC1zbS0xMiAuYm94TnVtZXJvcyAjY2xvY2sgLmJveERhZG9zICsgLmJveERhZG9zIHsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsNCiAgICB9DQoNCiAgICAubW9kYWxSb2RhcGUgLmNvbnRhaW5lciAuY29sLXNtLTEyIC5ib3hOdW1lcm9zICNjbG9jayAuYm94RGFkb3MgLm51bWVyb3Mgew0KICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDFweDsNCiAgICB9DQoNCiAgICAvKiBNb2RhbCBWw61kZW8gKi8NCg0KICAgICNtb2RhbFZpZGVvIC5ib3hGbGV4IC5ib3hWaWRlbyB7DQogICAgICAgIHBhZGRpbmc6IDNweDsNCiAgICB9DQoNCiAgICAjbW9kYWxWaWRlbyAuYm94RmxleCAuYm94VmlkZW8gLmZlY2hhVmlkZW8gew0KICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4Ow0KICAgICAgICB0b3A6IC0xMHB4Ow0KICAgICAgICByaWdodDogLTEwcHg7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsNCg0KICAgIC8qIE1vZGFsIFJvZGFww6kgKi8NCg0KICAgIC5tb2RhbFJvZGFwZSAuY29udGFpbmVyIC5jb2wtc20tMTIgew0KICAgICAgICBwYWRkaW5nOiAxMHB4IDA7DQogICAgfQ0KDQogICAgLm1vZGFsUm9kYXBlIC5jb250YWluZXIgLmNvbC1zbS0xMiAudGV4dG8gew0KICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAgIH0NCiAgICANCiAgICAubW9kYWxSb2RhcGUgLmNvbnRhaW5lciAuY29sLXNtLTEyIC50ZXh0byAudGl0dWxvIHsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOw0KICAgICAgICBmb250LXNpemU6IDE2cHg7DQogICAgfQ0KDQogICAgLm1vZGFsUm9kYXBlIC5jb250YWluZXIgLmNvbC1zbS0xMiAudGV4dG8gLmJveFByZWNvIC5wcmVjb3BvciB7DQogICAgICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICB9DQp9DQoNCi8qIGhlYWRlci5jc3MgKi8NCg0KLmhlYWRlckxhbmRpbmcgew0KICAgIHBvc2l0aW9uOiBmaXhlZDsNCiAgICB0b3A6IDA7DQogICAgaGVpZ2h0OiA2NXB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHotaW5kZXg6IDk5Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsNCn0NCg0KLmhlYWRlckxhbmRpbmcuc2Nyb2xsIHsNCiAgICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDsNCiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1LCAyNiwgNDIsIDAuOTUpOw0KfQ0KDQouaGVhZGVyTGFuZGluZyAuY29udGFpbmVyIHsNCiAgICBoZWlnaHQ6IDEwMCU7DQp9DQoNCi5oZWFkZXJMYW5kaW5nIC5jb250YWluZXIgLmNvbC1zbS0xMiB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICBoZWlnaHQ6IDEwMCU7DQp9DQoNCi8qIExvZ28gKi8NCg0KLmhlYWRlckxhbmRpbmcgI2xvZ29MYW5kaW5nMjAyMiBpbWcgew0KICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsNCn0NCg0KLmhlYWRlckxhbmRpbmcuc2Nyb2xsICNsb2dvTGFuZGluZzIwMjIgaW1nIHsNCiAgICBtYXgtd2lkdGg6IDEyMHB4Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsNCn0NCg0KLyogTGlua3MgKi8NCg0KLmxpbmtzSGVhZGVyIHsNCiAgICBmbGV4OiAxOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOw0KfQ0KDQoubGlua3NIZWFkZXIgYSB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmxpbmtzSGVhZGVyIGEgKyBhIHsNCiAgICBtYXJnaW4tbGVmdDogMzBweDsNCn0NCg0KLmxpbmtzSGVhZGVyIGEgc3BhbiB7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luLWxlZnQ6IDdweDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkgew0KDQogICAgLmxpbmtzSGVhZGVyIGEgc3BhbiB7DQogICAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KDQp9DQoNCi8qIGJhbm5lclByaW5jaXBhbC5jc3MgKi8NCg0KLmJhbm5lclByaW5jaXBhbCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9iZy1iYW5uZXItcHJpbmNpcGFsLmpwZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7DQogICAgcGFkZGluZzogMjIwcHggMCAyMjBweCAwOw0KICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7DQp9DQoNCi5iYW5uZXJQcmluY2lwYWwgLmNvbnRhaW5lciB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KfQ0KDQovKiBUZXh0byAqLw0KDQouYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgMjBweCAwOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICBsaW5lLWhlaWdodDogNDJweDsNCn0NCg0KLmJhbm5lclByaW5jaXBhbCAudGV4dG9CYW5uZXIgaDIgc3Ryb25nIHsNCiAgICBjb2xvcjogI0YwOUMwMDsNCn0NCg0KLmJhbm5lclByaW5jaXBhbCAudGV4dG9CYW5uZXIgcCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgbWFyZ2luOiAwOw0KfQ0KDQouYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciBwIHN0cm9uZyB7DQogICAgY29sb3I6ICNGMDlDMDA7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7DQoNCiAgICAuYmFubmVyUHJpbmNpcGFsIHsNCiAgICAgICAgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9iZy1iYW5uZXItcHJpbmNpcGFsLW1vYmlsZS5qcGcpICMwZjFhMmEgYm90dG9tIGNlbnRlciBuby1yZXBlYXQ7DQogICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOw0KICAgICAgICBwYWRkaW5nOiAxMzBweCAwIDgwMHB4IDA7DQogICAgfQ0KDQogICAgLmJhbm5lclByaW5jaXBhbCAuY29udGFpbmVyIHsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICAgICAgcGFkZGluZzogMCAxNXB4IWltcG9ydGFudDsNCiAgICB9DQoNCiAgICAuYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciB7DQogICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOw0KICAgICAgICBwYWRkaW5nOiAwOw0KICAgIH0NCg0KICAgIC5iYW5uZXJQcmluY2lwYWwgLnRleHRvQmFubmVyIGgyIGJyLA0KICAgIC5iYW5uZXJQcmluY2lwYWwgLnRleHRvQmFubmVyIHAgYnIgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KICAgIC5iYW5uZXJQcmluY2lwYWwgLmNvbC1zbS02IHsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsNCg0KICAgIC5iYW5uZXJQcmluY2lwYWwgew0KICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2JnLWJhbm5lci1wcmluY2lwYWwtbW9iaWxlLmpwZykgIzBmMWEyYSBib3R0b20gY2VudGVyIG5vLXJlcGVhdDsNCiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87DQogICAgICAgIHBhZGRpbmc6IDEzMHB4IDAgNjAwcHggMDsNCiAgICB9DQoNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkgew0KDQogICAgLmJhbm5lclByaW5jaXBhbCB7DQogICAgICAgIHBhZGRpbmc6IDEyMHB4IDAgNDUwcHggMDsNCiAgICB9DQoNCiAgICAuYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciBoMiB7DQogICAgICAgIGZvbnQtc2l6ZTogMjRweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOw0KICAgIH0NCg0KICAgIC5iYW5uZXJQcmluY2lwYWwgLnRleHRvQmFubmVyIHAgew0KICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsNCiAgICB9DQoNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MzBweCkgew0KDQogICAgLmJhbm5lclByaW5jaXBhbCB7DQogICAgICAgIHBhZGRpbmc6IDkwcHggMCAzMDBweCAwOw0KICAgIH0NCg0KfQ0KDQovKiBjb21wYXJhY2FvLmNzcyAqLw0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiA1MHB4IDA7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgIzFFMkEzQiwgIzI3MkMzMik7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLyogVMOtdHVsbyAqLw0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwOw0KICAgIGxpbmUtaGVpZ2h0OiA0NHB4Ow0KICAgIGZvbnQtc2l6ZTogMzBweDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyBoMiBzdHJvbmcgew0KICAgIGNvbG9yOiAjRjA5QzAwOw0KfQ0KDQovKiBDb250ZcO6ZG8gKi8NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94TG90ZSAuY29udGV1ZG9Mb3RlIHsNCiAgICBiYWNrZ3JvdW5kOiAjMUUyQTNCOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHBhZGRpbmc6IDUwcHggMDsNCn0NCg0KLyogU2VsZXRvciBkZSBQbGFubyAqLw0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hTZWxldG9yUGxhbm9zIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgcGFkZGluZzogNTBweCAwOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hTZWxldG9yUGxhbm9zIC50aXR1bG9QbGFubyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hTZWxldG9yUGxhbm9zIC5zd2l0Y2hQbGFubyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogNjBweDsNCiAgICBoZWlnaHQ6IDM0cHg7DQogICAgbWFyZ2luOiAwIDE1cHg7DQp9DQogIA0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94U2VsZXRvclBsYW5vcyAuc3dpdGNoUGxhbm8gaW5wdXQgeyANCiAgICBvcGFjaXR5OiAwOw0KICAgIHdpZHRoOiAwOw0KICAgIGhlaWdodDogMDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94U2VsZXRvclBsYW5vcyAuc2xpZGVyUGxhbm8gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgaGVpZ2h0OiAxMDAlOw0KICAgIGJvcmRlci1yYWRpdXM6IDM0cHg7DQogICAgYm9yZGVyOiBzb2xpZCA0cHggI0YwOUMwMDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94U2VsZXRvclBsYW5vcyAuc2xpZGVyUGxhbm8gLmNpcmNsZSB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGNvbnRlbnQ6ICIiOw0KICAgIGhlaWdodDogMjBweDsNCiAgICB3aWR0aDogMjBweDsNCiAgICBsZWZ0OiA0cHg7DQogICAgdG9wOiBjYWxjKDUwJSAtIDEwcHgpOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNGMDlDMDA7DQogICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOw0KICAgIGJvcmRlci1yYWRpdXM6IDUwJTsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94U2VsZXRvclBsYW5vcyBpbnB1dDpjaGVja2VkICsgLnNsaWRlclBsYW5vIC5jaXJjbGUgew0KICAgIHJpZ2h0OiA0cHg7DQogICAgbGVmdDogYXV0bzsNCn0NCg0KLyogUGxhbm9zICovDQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIHVsLmxpc3RhQ29tcGFyYWNhbyB7DQogICAgcGFkZGluZzogMDsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gdWwubGlzdGFDb21wYXJhY2FvIGxpIHsNCiAgICBoZWlnaHQ6IGF1dG87DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gdWwub2N1bHRvIHsNCiAgICBoZWlnaHQ6IDA7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gew0KICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCAjNDc1NTY4LCAjNEM0RTRDKTsNCiAgICBwYWRkaW5nOiAyMHB4IDIwcHggMzVweCAyMHB4Ow0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94QnJhbmNvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICBwYWRkaW5nOiAxNXB4IDEwcHggMTBweCAxMHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5ib3hCcmFuY28gLm1lbGhvck9mZXJ0YSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIG1pbi1oZWlnaHQ6IDI4cHg7DQogICAgbWFyZ2luLWJvdHRvbTogMTVweDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveEJyYW5jbyAubWVsaG9yT2ZlcnRhIHNwYW4gew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1NjU3Njk7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIHBhZGRpbmc6IDVweCAxNHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4Ow0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94QnJhbmNvIC50aXR1bG8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBjb2xvcjogIzI3MzY0QjsNCiAgICBmb250LXNpemU6IDMwcHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgMTBweCAwOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94QnJhbmNvIC5ib3hCb251cyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIG1pbi1oZWlnaHQ6IDc0cHg7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveEJyYW5jbyAuYm94Qm9udXMgLmxpc3RhQm9udXMgew0KICAgIHBhZGRpbmc6IDA7DQogICAgbWFyZ2luOiAwIDAgMCAxNXB4Ow0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94QnJhbmNvIC5ib3hCb251cyAubGlzdGFCb251cyBsaSB7DQogICAgY29sb3I6ICM1NjU3Njk7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveEJyYW5jbyAuYm94Qm9udXMgLmxpc3RhQm9udXMgbGkgc21hbGwgew0KICAgIGNvbG9yOiAjQTlBQkJEOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveFByZWNvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveFByZWNvIC5ib3hQcmVjb0ludGVybm8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1pbi1oZWlnaHQ6IDkycHg7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5ib3hQcmVjbyAuYVBhcnRpciB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGNvbG9yOiAjMjczNjRCOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94UHJlY28gLnByZWNvRGUgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBtYXJnaW46IDVweCAwIDAgMDsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBjb2xvcjogIzI3MzY0QjsNCiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveFByZWNvIC5wcmVjb1BvciB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIG1hcmdpbjogNXB4IDAgMTVweCAwOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBjb2xvcjogIzFFMkEzQjsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveFByZWNvIGEgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBiYWNrZ3JvdW5kOiAjQzk4NDAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHBhZGRpbmc6IDEwcHggMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmxpc3RhSXRlbnNJbmNsdXNvcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luOiAwOw0KICAgIHBhZGRpbmc6IDA7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5saXN0YUl0ZW5zSW5jbHVzb3MgbGkgew0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICBoZWlnaHQ6IDM1cHg7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5saXN0YUl0ZW5zSW5jbHVzb3MgbGkgLmJveFRpdHVsbyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBmbGV4OiAxOw0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0Ow0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAubGlzdGFJdGVuc0luY2x1c29zIGxpIC5ib3hUaXR1bG8gc3BhbiB7DQogICAgY29sb3I6ICNmZmY7DQogICAgbWFyZ2luLWxlZnQ6IDEwcHg7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAubGlzdGFJdGVuc0luY2x1c29zIGxpLm5hb0luY2x1c28gLmJveFRpdHVsbyBzcGFuIHsNCiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmxpc3RhSXRlbnNJbmNsdXNvcyBsaSAuYm94SW5mbyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAubGlzdGFJdGVuc0luY2x1c29zIGxpLmJvbnVzLm5hb0luY2x1c28gLmJveEluZm8gew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5saXN0YUl0ZW5zSW5jbHVzb3MgbGkgLmJveEluZm8gLmltZ0luZm8gew0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBtYXJnaW4tbGVmdDogMTVweDsNCn0NCg0KLyogTW9kYWwgKi8NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmxpc3RhSXRlbnNJbmNsdXNvcyBsaSAuYm94SW5mbyAubW9kYWxJbmZvIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgd2lkdGg6IDMwMHB4Ow0KICAgIGJhY2tncm91bmQ6ICNGMEVGRjM7DQogICAgYm94LXNoYWRvdzogMHB4IDhweCAxNXB4IHJnYig0NSA0NyA2NCAvIDEwJSksIDBweCAxLjVweCA1cHggcmdiKDQ1IDQ3IDY0IC8gMjUlKTsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgYm90dG9tOiBjYWxjKDEwMCUgKyAxNXB4KTsNCiAgICBwYWRkaW5nOiAyMHB4IDE1cHggMTVweCAxNXB4Ow0KICAgIHJpZ2h0OiAtNnB4Ow0KICAgIHotaW5kZXg6IDE7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5saXN0YUl0ZW5zSW5jbHVzb3MgbGkgLmJveEluZm8gLm1vZGFsSW5mbyAuZmVjaGFQb3B1cCB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogM3B4Ow0KICAgIHJpZ2h0OiAzcHg7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBsaW5lLWhlaWdodDogMTAwJTsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5saXN0YUl0ZW5zSW5jbHVzb3MgbGkgLmJveEluZm8gLm1vZGFsSW5mbyAuZmVjaGFQb3B1cCBpbWcgew0KICAgIHdpZHRoOiAyMHB4Ow0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAubGlzdGFJdGVuc0luY2x1c29zIGxpIC5ib3hJbmZvIC5tb2RhbEluZm86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiIjsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgd2lkdGg6IDA7DQogICAgaGVpZ2h0OiAwOw0KICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXRvcDogN3B4IHNvbGlkICNGMEVGRjM7DQogICAgcmlnaHQ6IDEwcHg7DQogICAgYm90dG9tOiAtN3B4Ow0KfQ0KDQouYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAubGlzdGFJdGVuc0luY2x1c29zIGxpIC5ib3hJbmZvIC5tb2RhbEluZm8gcCB7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGNvbG9yOiAjMjIyOw0KICAgIG1hcmdpbjogMDsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmxpc3RhSXRlbnNJbmNsdXNvcyBsaSAuYm94SW5mbyAubW9kYWxJbmZvIGEgew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kOiAjMDA1N0VFOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIG1hcmdpbi10b3A6IDEycHg7DQogICAgcGFkZGluZzogMTBweCAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmxpc3RhSXRlbnNJbmNsdXNvcyBsaSAuYm94SW5mbyAubW9kYWxJbmZvIGEgc3BhbiB7DQogICAgY29sb3I6ICNmZmY7DQogICAgbWFyZ2luLXJpZ2h0OiAxMHB4Ow0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7DQoNCiAgICAuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIHVsLmxpc3RhQ29tcGFyYWNhbyB7DQogICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOw0KICAgICAgICBmbGV4LWJhc2lzOiAxMDAlOw0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7DQoNCiAgICAuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIGgyIHsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOw0KICAgICAgICBwYWRkaW5nOiAwOw0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgaDIgYnIgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFNlbGV0b3JQbGFub3Mgew0KICAgICAgICBwYWRkaW5nOiAxNXB4IDM1cHggMzVweCAzNXB4Ow0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFNlbGV0b3JQbGFub3MgLnRpdHVsb1BsYW5vIHsNCiAgICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFNlbGV0b3JQbGFub3MgLmJvdGFvMUFubyB7DQogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFNlbGV0b3JQbGFub3MgLnN3aXRjaFBsYW5vIHsNCiAgICAgICAgbWFyZ2luOiAwIDEycHg7DQogICAgICAgIHdpZHRoOiA1NXB4Ow0KICAgICAgICBtaW4td2lkdGg6IDU1cHg7DQogICAgfQ0KDQogICAgLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyB1bC5saXN0YUNvbXBhcmFjYW8gLnNsaWNrLWxpc3Qgew0KICAgICAgICBtYXJnaW46IDAgLTIwcHg7DQogICAgfQ0KDQogICAgLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyB1bC5saXN0YUNvbXBhcmFjYW8gbGkuYm94SXRlbSB7DQogICAgICAgIHBhZGRpbmc6IDAgNXB4Ow0KICAgIH0NCg0KICAgIC8qIE1vZGFsICovDQoNCiAgICAuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyB1bCBsaSAuYm94SW5mbyAubW9kYWxJbmZvIHsNCiAgICAgICAgd2lkdGg6IDI2MHB4Ow0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7DQoNCiAgICAuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5jb250YWluZXIgew0KICAgICAgICBwYWRkaW5nOiAwOw0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gew0KICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICAgICAgZmxleC1iYXNpczogMTAwJTsNCiAgICAgICAgcGFkZGluZzogMCA1cHg7DQogICAgfQ0KDQogICAgLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gew0KICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMzVweCAxMHB4Ow0KICAgIH0NCg0KICAgIC5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIC5ib3hCcmFuY28gLmJveEJvbnVzIHsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICB9DQoNCiAgICAuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94QnJhbmNvIC5ib3hCb251cyAubGlzdGFCb251cyB7DQogICAgICAgIG1hcmdpbjogMTVweCAwIDAgMDsNCiAgICB9DQoNCiAgICAuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyAuYm94QnJhbmNvIC5ib3hCb251cyAubGlzdGFCb251cyBsaSB7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB9DQoNCn0NCg0KLyogY2FycmVpcmFzRXNwZWNpZmljYXMuY3NzICovDQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzBGMUEyQTsNCiAgICBwYWRkaW5nOiA1MHB4IDAgMCAwOw0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgLnRpdHVsb1Nlc3NhbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgMTVweCAwOw0KICAgIGxpbmUtaGVpZ2h0OiA0MnB4Ow0KICAgIGZvbnQtc2l6ZTogMzBweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzIC50aXR1bG9TZXNzYW8gc3Ryb25nIHsNCiAgICBjb2xvcjogI0YwOUMwMDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzIC5zdWJUaXR1bG9TZXNzYW8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBsaW5lLWhlaWdodDogMjRweDsNCiAgICBtYXJnaW46IDAgMCAzMHB4IDA7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAuc3ViVGl0dWxvU2Vzc2FvIHN0cm9uZyB7DQogICAgY29sb3I6ICNGMDlDMDA7DQp9DQoNCi8qIEJveCBBY2NvcmRpb24gKi8NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhc0VzcGVjaWZpY2FzIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgew0KCWZsb2F0OiBsZWZ0Ow0KICAgIGJvcmRlcjogMDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW46IDAhaW1wb3J0YW50Ow0KICAgIHBhZGRpbmctYm90dG9tOiAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDAhaW1wb3J0YW50Ow0KCWJveC1zaGFkb3c6IG5vbmUhaW1wb3J0YW50Ow0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCgliYWNrZ3JvdW5kOiBub25lOw0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5jYXJkLWhlYWRlciB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgYnV0dG9uIHsNCgljdXJzb3I6IHBvaW50ZXI7DQoJYm9yZGVyOiAwOw0KCXdpZHRoOiAxMDAlOw0KCWJhY2tncm91bmQ6ICM0NzU1Njk7DQoJZmxvYXQ6IGxlZnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG91dGxpbmU6IG5vbmUhaW1wb3J0YW50Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNUI2NTc1Ow0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIGJ1dHRvbiAuY29udGFpbmVyIHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICAgIGhlaWdodDogOTBweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCBidXR0b24gLmJveFRpdHVsbyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAgIGZsZXg6IDE7DQogICAgYWxpZ24taXRlbXM6IHN0YXJ0Ow0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC50aXR1bG9Mb3RlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDE2cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgYnV0dG9uIC5ib3hUaXR1bG8gLnRpdHVsb0xvdGUgLnRhZ0NvbXBsZXRhIHsNCiAgICBiYWNrZ3JvdW5kOiAjQzk4MzAwOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBwYWRkaW5nOiAycHggMTBweDsNCiAgICBib3JkZXItcmFkaXVzOiAyMHB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAyMHB4Ow0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC5zdWJ0aXR1bG9Mb3RlIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbWFyZ2luLXRvcDogMTBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIGJ1dHRvbiBpbWcgew0KICAgIG1heC13aWR0aDogMzBweDsNCiAgICBtYXJnaW4tbGVmdDogMTBweDsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXIgMHM7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgYnV0dG9uOm5vdCguY29sbGFwc2VkKSBpbWcgew0KICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gew0KCXBhZGRpbmc6IDYwcHggMCA1MHB4IDA7DQogICAgYmFja2dyb3VuZDogIzEyMTUyMDsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXIgMHM7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmxpc3RhQXNzaW5hdHVyYXNDb250ZXVkbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZ3JpZDsNCiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOw0KICAgIGdhcDogMTVweDsNCn0NCg0KLyogTGlzdGEgQXNzaW5hdHVyYXMgKi8NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgew0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveEludGVybm8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJvcmRlcjogc29saWQgMnB4IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7DQogICAgcGFkZGluZzogMTVweCA3cHg7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJuby5tZWxob3JPZmVydGFCb3ggew0KICAgIGJvcmRlcjogc29saWQgMnB4ICNBMzZCMDA7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5tZWxob3JPZmVydGEgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBjb2xvcjogI0YwOUMwMDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0b3A6IC0xMnB4Ow0KICAgIGxlZnQ6IGNhbGMoNTAlIC0gNjNweCk7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQ6ICMxMjE1MjA7DQogICAgcGFkZGluZzogMCAxNXB4Ow0KfQ0KDQovKiBUYWcgQsO0bnVzICovDQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC50YWdCb251cyB7DQogICAgaGVpZ2h0OiA0MHB4Ow0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBtaW4td2lkdGg6IDFweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLnRhZ0JvbnVzIC50YWdCb251c0ludGVybm8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiAjRjA5QzAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgcGFkZGluZzogMCAxNXB4Ow0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAudGFnQm9udXMgLnRhZ0JvbnVzSW50ZXJubyAudGV4dG9UYWcgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLnRhZ0JvbnVzIC50YWdCb251c0ludGVybm8gLnBvcmNlbnRhZ2VtVGFnIHsNCiAgICBiYWNrZ3JvdW5kOiAjRDkzRTNFOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCn0NCg0KLyogRWNvbm9taXplICovDQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hFY29ub21pemUgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogNDBweDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hFY29ub21pemUgLmJveEludGVybm8gew0KICAgIGJhY2tncm91bmQ6ICNGMDlDMDA7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGhlaWdodDogMTAwJTsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgYm9yZGVyLXJhZGl1czogMzBweDsNCiAgICB3aWR0aDogYXV0bzsNCiAgICBwYWRkaW5nOiAwIDRweCAwIDIwcHg7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hFY29ub21pemUgLmJveEludGVybm8gLnRleHRvIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDEzcHg7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hFY29ub21pemUgLmJveEludGVybm8gLnBvcmNlbnRhZ2VtIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBiYWNrZ3JvdW5kOiAjRDkzRTNFOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMTJweDsNCiAgICBwYWRkaW5nOiA5cHggMTBweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAzMHB4Ow0KfQ0KDQovKiBUw610dWxvICovDQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDIwcHggMCAxMHB4IDA7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyOHB4Ow0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAubGlzdGFCb251cyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmxpc3RhQm9udXMgdWwgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMDsNCiAgICBwYWRkaW5nOiAwOw0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAubGlzdGFCb251cyB1bCBsaSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgICBjb2xvcjogI0NCRDRFMTsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hQcmVjb3Mgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQouY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuYm94UHJlY29zIC5ib3hQcmVjbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIGJhY2tncm91bmQ6ICM0NzU1Njk7DQogICAgcGFkZGluZzogMTBweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveFByZWNvcyAuYm94UHJlY28gLnRpdHVsbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBtYXJnaW4tYm90dG9tOiAzMHB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveFByZWNvcyAuYm94UHJlY28gLmRlc2NyaWNhbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBjb2xvcjogI0UyRThGMDsNCiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBoZWlnaHQ6IDQwcHg7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hQcmVjb3MgLmJveFByZWNvIC5wcmVjb0RlIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGNvbG9yOiAjRTJFOEYwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveFByZWNvcyAuYm94UHJlY28gLnByZWNvUG9yIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGNvbG9yOiAjZmZmOw0KICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAtMC41cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hQcmVjb3MgLmJveFByZWNvIGEgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBiYWNrZ3JvdW5kOiAjQzk4NDAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHBhZGRpbmc6IDZweCAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveExpbmtTYWliYSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQp9DQoNCi5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hMaW5rU2FpYmEgLmxpbmtTYWliYSB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGNvbG9yOiAjRkFGQUZBOw0KICAgIG1hcmdpbi10b3A6IDE1cHg7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7DQoNCiAgICAuY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAubGlzdGFBc3NpbmF0dXJhc0NvbnRldWRvIHsNCiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsNCiAgICAgICAgZ2FwOiAzMHB4Ow0KICAgIH0NCg0KICAgIC5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hFY29ub21pemUgew0KICAgICAgICBoZWlnaHQ6IGF1dG87DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHsNCg0KICAgIC5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgICAgIHBhZGRpbmc6IDANCiAgICB9DQoNCiAgICAuY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJuby5zZW1NZWxob3JPZmVydGEgLnRhZ0JvbnVzIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAuY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJuby5zZW1NZWxob3JPZmVydGEgaDIgew0KICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7DQogICAgfQ0KDQogICAgLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLm1lbGhvck9mZXJ0YS5zZW1Fc3BlY2lhbCB7DQogICAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5jYXJyZWlyYXNFc3BlY2lmaWNhcyB7DQogICAgICAgIHBhZGRpbmc6IDI1cHggMCAwIDA7DQogICAgfQ0KDQogICAgLmNhcnJlaXJhc0VzcGVjaWZpY2FzIC50aXR1bG9TZXNzYW8gew0KICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7DQogICAgICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7DQogICAgfQ0KDQogICAgLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCBidXR0b24gLmNvbnRhaW5lciB7DQogICAgICAgIGhlaWdodDogMTIwcHg7DQogICAgICAgIHBhZGRpbmc6IDAgOHB4Ow0KICAgIH0NCg0KICAgIC5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgYnV0dG9uIC5ib3hUaXR1bG8gLnRpdHVsb0xvdGUgLnRhZ0NvbXBsZXRhIHsNCiAgICAgICAgZm9udC1zaXplOiAxMHB4Ow0KICAgIH0NCg0KICAgIC5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgYnV0dG9uIC5ib3hUaXR1bG8gLnN1YnRpdHVsb0xvdGUgew0KICAgICAgICBmb250LXNpemU6IDEycHg7DQogICAgfQ0KDQogICAgLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gew0KICAgICAgICBwYWRkaW5nOiAzMHB4IDA7DQogICAgfQ0KDQogICAgLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveEludGVybm8gew0KICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7DQogICAgfQ0KDQogICAgLmNhcnJlaXJhc0VzcGVjaWZpY2FzICNhY2NvcmRpb25DYXJyZWlyYXNFc3BlY2lmaWNhcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmNvbC1zbS02IHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiA1MCU7DQogICAgICAgIG1heC13aWR0aDogNTAlOw0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1MHB4KSB7DQoNCiAgICAuY2FycmVpcmFzRXNwZWNpZmljYXMgI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIC5jYXJkIC5ib3hDb250ZXVkbyAubGlzdGFBc3NpbmF0dXJhc0NvbnRldWRvIHsNCiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTsNCiAgICAgICAgZ2FwOiAzMHB4Ow0KICAgIH0NCg0KfQ0KDQovKiBwcmVwYXJhY2FvUGVyc29uYWxpemFkYS5jc3MgKi8NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiAjMEYxQTJBOw0KICAgIHBhZGRpbmc6IDgwcHggMCA1MHB4IDA7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94Qmcgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQ6IHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvYmctcHJlcGFyYWNhby1wZXJzb25hbGl6YWRhLnBuZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7DQogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsNCiAgICBwYWRkaW5nOiA0MHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgaDIgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgbWFyZ2luOiAwIDAgMTVweCAwOw0KICAgIGxpbmUtaGVpZ2h0OiAzNnB4Ow0KICAgIGZvbnQtc2l6ZTogMjZweDsNCn0NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuc3VidGl0dWxvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweDsNCiAgICBsaW5lLWhlaWdodDogMjZweDsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgLnN1YnRpdHVsbyBzdHJvbmcgew0KICAgIGNvbG9yOiAjREJCRDg0Ow0KfQ0KDQoucHJlcGFyYWNhb1BlcnNvbmFsaXphZGEgLmJveEJnIC5ib3hQbGFub3NQZXJzb25hbGl6YWRvcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZ3JpZDsNCiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOw0KICAgIGdhcDogMzBweDsNCiAgICBtYXJnaW46IDMwcHggMDsNCn0NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94UGxhbm9zUGVyc29uYWxpemFkb3MgYSB7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDsNCn0NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94UGxhbm9zUGVyc29uYWxpemFkb3MgLml0ZW1Bc3NpbmF0dXJhIHsNCiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY2LCA2NiwgNjYsIDAuNCk7DQogICAgYm9yZGVyLXJhZGl1czogMjBweDsNCiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgcGFkZGluZzogMzBweDsNCn0NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94UGxhbm9zUGVyc29uYWxpemFkb3MgLml0ZW1Bc3NpbmF0dXJhIGgzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIG1hcmdpbjogMDsNCiAgICBsaW5lLWhlaWdodDogMzBweDsNCiAgICBmb250LXNpemU6IDIwcHg7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgLmJveFBsYW5vc1BlcnNvbmFsaXphZG9zIC5pdGVtQXNzaW5hdHVyYSAucHJlY29EZSB7DQogICAgY29sb3I6ICNEQkJEODQ7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgbWFyZ2luOiA4cHggMCAwIDA7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgLmJveFBsYW5vc1BlcnNvbmFsaXphZG9zIC5pdGVtQXNzaW5hdHVyYSAucHJlY29Qb3Igew0KICAgIGNvbG9yOiAjREJCRDg0Ow0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIG1hcmdpbjogMnB4IDAgNXB4IDA7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgLmJveFBsYW5vc1BlcnNvbmFsaXphZG9zIC5pdGVtQXNzaW5hdHVyYSBwIHsNCiAgICBjb2xvcjogIzhEOEQ4RDsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbWFyZ2luOiAwOw0KfQ0KDQoucHJlcGFyYWNhb1BlcnNvbmFsaXphZGEgLmJveEJnIC5ib3hCYWl4byB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCn0NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94QmFpeG8gcCB7DQogICAgY29sb3I6ICNmZmY7DQogICAgbWFyZ2luOiAwIDMwcHg7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyM3B4Ow0KICAgIGZsZXg6IDE7DQp9DQoNCi5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgLmJveEJhaXhvIHAgc3Ryb25nIHsNCiAgICBjb2xvcjogI0RCQkQ4NDsNCn0NCg0KLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94QmFpeG8gYSB7DQogICAgY29sb3I6ICM1NjRBMzM7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxNjksIDE0MSwgODksIDEpIDEwMCUsIHJnYmEoMTkzLCAxNjQsIDEwOCwgMSkgMTAwJSk7DQogICAgcGFkZGluZzogMTdweCAzMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGxldHRlci1zcGFjaW5nOiAxcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBsaW5lLWhlaWdodDogMTRweDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIHsNCiAgICAgICAgcGFkZGluZzogNDBweCAwIDE1cHggMDsNCiAgICB9DQoNCiAgICAucHJlcGFyYWNhb1BlcnNvbmFsaXphZGEgLmJveEJnIHsNCiAgICAgICAgcGFkZGluZzogMjVweDsNCiAgICAgICAgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9iZy1wcmVwYXJhY2FvLXBlcnNvbmFsaXphZGEtbW9iaWxlLnBuZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7DQogICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7DQogICAgfQ0KDQogICAgLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyBoMiB7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4Ow0KICAgICAgICBmb250LXNpemU6IDIwcHg7DQogICAgfQ0KDQogICAgLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94UGxhbm9zUGVyc29uYWxpemFkb3Mgew0KICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpOw0KICAgICAgICBnYXA6IDEwcHg7DQogICAgICAgIG1hcmdpbjogMjVweCAwOw0KICAgIH0NCg0KICAgIC5wcmVwYXJhY2FvUGVyc29uYWxpemFkYSAuYm94QmcgLmJveFBsYW5vc1BlcnNvbmFsaXphZG9zIC5pdGVtQXNzaW5hdHVyYSB7DQogICAgICAgIHBhZGRpbmc6IDIwcHggMDsNCiAgICB9DQoNCiAgICAucHJlcGFyYWNhb1BlcnNvbmFsaXphZGEgLmJveEJnIC5ib3hCYWl4byB7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgfQ0KDQogICAgLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94QmFpeG8gcCB7DQogICAgICAgIG1hcmdpbjogMzBweCAwOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgfQ0KDQogICAgLnByZXBhcmFjYW9QZXJzb25hbGl6YWRhIC5ib3hCZyAuYm94QmFpeG8gYSB7DQogICAgICAgIHBhZGRpbmc6IDE1cHggMDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICB9DQoNCn0NCg0KLyogY2hhbWFkYVBhY290ZXMuY3NzICovDQoNCi5jaGFtYWRhc1BhY290ZXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQ6ICMwRjFBMkE7DQogICAgcGFkZGluZzogNTBweCAwIDAgMDsNCn0NCg0KLmNoYW1hZGFzUGFjb3RlcyAuYm94Qmcgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0Ow0KICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICBwYWRkaW5nOiAzMHB4Ow0KICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIhaW1wb3J0YW50Ow0KfQ0KDQouY2hhbWFkYXNQYWNvdGVzIC5ib3hCZyBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICM1OTNBMDA7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwOw0KICAgIGZvbnQtc2l6ZTogMjRweDsNCiAgICBsaW5lLWhlaWdodDogMzJweDsNCn0NCg0KLmNoYW1hZGFzUGFjb3RlcyAuYm94QmcgaDIgc3Ryb25nIHsNCiAgICBjb2xvcjogIzBBMTIxRjsNCn0NCg0KLmNoYW1hZGFzUGFjb3RlcyAuYm94QmcgcCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICM1OTNBMDA7DQogICAgbWFyZ2luOiAyMHB4IDA7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxNTAlOw0KfQ0KDQouY2hhbWFkYXNQYWNvdGVzIC5ib3hCZyBmaWd1cmUgew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQoNCi5jaGFtYWRhc1BhY290ZXMgLmJveEJnIGEgew0KICAgIHBhZGRpbmc6IDVweCA1MHB4Ow0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIGNvbG9yOiAjMEExMjFGOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYm9yZGVyOiBzb2xpZCAycHggIzBBMTIxRjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7DQp9DQoNCi5jaGFtYWRhc1BhY290ZXMgLmJveEJnIGE6aG92ZXIgew0KICAgIGJhY2tncm91bmQ6ICMwQTEyMUY7DQogICAgY29sb3I6ICNGMDlDMDA7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5jaGFtYWRhc1BhY290ZXMgew0KICAgICAgICBwYWRkaW5nOiAzMHB4IDA7DQogICAgfQ0KICAgIA0KICAgIC5jaGFtYWRhc1BhY290ZXMgLmNvbC1zbS0xMiB7DQogICAgICAgIHBhZGRpbmc6IDA7DQogICAgfQ0KDQogICAgLmNoYW1hZGFzUGFjb3RlcyAuYm94Qmcgew0KICAgICAgICBwYWRkaW5nOiAxN3B4Ow0KICAgIH0NCg0KICAgIC5jaGFtYWRhc1BhY290ZXMgLmJveEJnIGgyIGJyIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAuY2hhbWFkYXNQYWNvdGVzIC5ib3hCZyBmaWd1cmUgew0KICAgICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIG1hcmdpbjogMjBweCAwOw0KICAgIH0NCg0KICAgIC5jaGFtYWRhc1BhY290ZXMgLmJveEJnIGEgew0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB9DQoNCn0NCg0KLyogYmlnTnVtYmVycy5jc3MgKi8NCg0KLmJpZ051bWJlcnMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogODBweCAwIDEwMHB4IDA7DQp9DQoNCi5iaWdOdW1iZXJzIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDAgMCA0MHB4IDA7DQogICAgZm9udC1zaXplOiAzNHB4Ow0KICAgIHBhZGRpbmc6IDAgMTVweDsNCn0NCg0KLmJpZ051bWJlcnMgLmJveE51bWVyb3Mgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQouYmlnTnVtYmVycyAuYm94TnVtZXJvcyAubnVtZXJvIC5ib3hJbnRlcm5vIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzFFMkEzQiAwLjUyJSwgcmdiYSgzMCwgNDIsIDU5LCAwKSAxMDAlKTsNCiAgICBib3JkZXItcmFkaXVzOiA4cHg7DQogICAgcGFkZGluZzogNDBweCAxMHB4Ow0KfQ0KDQouYmlnTnVtYmVycyAuYm94TnVtZXJvcyAubnVtZXJvIC5ib3hJbnRlcm5vIC5udW1lcm9JbnRlcm5vIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0M5ODMwMCA0NS4zMSUsICM1OTNBMDAgNzYuMDQlLCByZ2JhKDEyNSwgODIsIDAsIDApIDEwMCUpOw0KICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0Ow0KICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBmb250LXNpemU6IDgwcHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbGluZS1oZWlnaHQ6IDkwcHg7DQp9DQoNCi5iaWdOdW1iZXJzIC5ib3hOdW1lcm9zIC5udW1lcm8gLmJveEludGVybm8gLm51bWVybyBzdHJvbmcgew0KICAgIGZvbnQtc2l6ZTogNjBweDsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXIgMHM7DQp9DQoNCi5iaWdOdW1iZXJzIC5ib3hOdW1lcm9zIC5udW1lcm8gLmJveEludGVybm8gLnRleHRvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0M5ODMwMCA0NS4zMSUsICM1OTNBMDAgNzYuMDQlLCByZ2JhKDEyNSwgODIsIDAsIDApIDEwMCUpOw0KICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0Ow0KICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5iaWdOdW1iZXJzIHsNCiAgICAgICAgcGFkZGluZzogMzBweCAwOw0KICAgIH0NCg0KICAgIC5iaWdOdW1iZXJzIGgyIHsNCiAgICAgICAgbWFyZ2luOiAwIDAgMzZweCAwOw0KICAgICAgICBmb250LXNpemU6IDI2cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4Ow0KICAgIH0NCg0KICAgIC5iaWdOdW1iZXJzIC5ib3hOdW1lcm9zIC5udW1lcm8gew0KICAgICAgICB3aWR0aDogNTAlOw0KICAgICAgICBtYXgtd2lkdGg6IDUwJTsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHBhZGRpbmc6IDAgM3B4Ow0KICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7DQogICAgfQ0KDQogICAgLmJpZ051bWJlcnMgLmJveE51bWVyb3MgLm51bWVybyAuYm94SW50ZXJubyB7DQogICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgaGVpZ2h0OiAyMDBweDsNCiAgICAgICAgcGFkZGluZzogNXB4Ow0KICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICB9DQoNCiAgICAuYmlnTnVtYmVycyAuYm94TnVtZXJvcyAubnVtZXJvIC5ib3hJbnRlcm5vIC5udW1lcm9JbnRlcm5vIHsNCiAgICAgICAgZm9udC1zaXplOiA1MHB4Ow0KICAgIH0NCg0KfQ0KDQovKiBkZXN0YXF1ZXMuY3NzICovDQoNCi5ib3hEZXN0YXF1ZXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQ6ICMwRjFBMkE7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwcHggLTEyM3B4IDk1cHggLTEwNHB4IHJnYmEoMjU1LDI1NSwyNTUsMC40NCk7DQogICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwcHggLTEyM3B4IDk1cHggLTEwNHB4IHJnYmEoMjU1LDI1NSwyNTUsMC40NCk7DQogICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0xMjNweCA5NXB4IC0xMDRweCByZ2JhKDI1NSwyNTUsMjU1LDAuNDQpOw0KICAgIHBhZGRpbmc6IDA7DQogICAgYm9yZGVyLWJvdHRvbTogNjBweCBzb2xpZCAjMEYxQTJBOw0KfQ0KDQouYm94RGVzdGFxdWVzIGgyLnRpdHVsbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgNDBweCAwOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICBsaW5lLWhlaWdodDogNDRweDsNCn0NCg0KLmJveERlc3RhcXVlcyB1bCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMDsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5ib3hEZXN0YXF1ZXMgdWwgbGkuc2xpY2stc2xpZGUgew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBtaW4taGVpZ2h0OiA0NjBweDsNCn0NCg0KLmJveERlc3RhcXVlcyB1bCBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgMjBweCAwOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICBsaW5lLWhlaWdodDogNDRweDsNCn0NCg0KLmJveERlc3RhcXVlcyBsaSAuY29sLXNtLTEyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCi5ib3hEZXN0YXF1ZXMgbGkgLmNvbC1zbS0xMiBpbWcgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCn0NCg0KLmJveERlc3RhcXVlcyBoMiBzdHJvbmcgew0KICAgIGNvbG9yOiAjRjA5QzAwOw0KfQ0KDQouYm94RGVzdGFxdWVzIHAgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMDsNCiAgICBjb2xvcjogI0NCRDRFMTsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbGluZS1oZWlnaHQ6IDI2cHg7DQp9DQoNCi5ib3hEZXN0YXF1ZXMgcCBzdHJvbmcgew0KICAgIGNvbG9yOiAjRjA5QzAwOw0KfQ0KDQouYm94RGVzdGFxdWVzIGEgew0KICAgIHBhZGRpbmc6IDVweCA1MHB4Ow0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYm9yZGVyOiBzb2xpZCAycHggI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW4tdG9wOiAzMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLmJveERlc3RhcXVlcyBpbWcuY29tVmlkZW8gew0KICAgIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KLyogU2V0YXMgKi8NCg0KLmJveERlc3RhcXVlcyB1bCAuc2V0YUJhbm5lciB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogY2FsYyg1MCUgLSAxMnB4KTsNCiAgICBsZWZ0OiAtNzBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgei1pbmRleDogMTsNCiAgICB3aWR0aDogNDVweDsNCiAgICBoZWlnaHQ6IDQ1cHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzFFMkEzQjsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQp9DQoNCi5ib3hEZXN0YXF1ZXMgdWwgLnNldGFCYW5uZXIucHJveGltbyB7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsNCiAgICByaWdodDogLTcwcHg7DQogICAgbGVmdDogYXV0bzsNCn0NCg0KLmJveERlc3RhcXVlcyB1bCAuc2V0YUJhbm5lci5zbGljay1kaXNhYmxlZCB7DQogICAgb3BhY2l0eTogMC41Ow0KICAgIGN1cnNvcjogZGVmYXVsdDsNCn0NCg0KLyogRG90cyAqLw0KDQouYm94RGVzdGFxdWVzIHVsIHVsLnNsaWNrLWRvdHMgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBib3R0b206IC00MHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLmJveERlc3RhcXVlcyB1bCB1bC5zbGljay1kb3RzIGxpIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgbGluZS1oZWlnaHQ6IDEwMCU7DQp9DQoNCi5ib3hEZXN0YXF1ZXMgdWwgdWwuc2xpY2stZG90cyBsaSBidXR0b24gew0KICAgIHRleHQtaW5kZW50OiAtOTk5OTlweDsNCiAgICBib3JkZXI6IHNvbGlkIDRweCAjZmZmOw0KICAgIGJhY2tncm91bmQ6ICNmZmY7DQogICAgd2lkdGg6IDE4cHg7DQogICAgaGVpZ2h0OiAyMHB4Ow0KICAgIG1hcmdpbjogMCA1cHg7DQogICAgYm9yZGVyLXJhZGl1czogNTBweDsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7DQp9DQoNCi5ib3hEZXN0YXF1ZXMgdWwgdWwuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uIHsNCiAgICBib3JkZXItY29sb3I6ICMzMzk5RkY7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7DQoNCiAgICAuYm94RGVzdGFxdWVzIC5jb250YWluZXIgew0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAgIH0NCg0KICAgIC5ib3hEZXN0YXF1ZXMgLmNvbC1zbS00LA0KICAgIC5ib3hEZXN0YXF1ZXMgLmNvbC1zbS04IHsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHBhZGRpbmc6IDA7DQogICAgfQ0KDQogICAgLmJveERlc3RhcXVlcyAuY29sLXNtLTggew0KICAgICAgICBtYXJnaW4tdG9wOiAxNXB4Ow0KICAgIH0NCg0KICAgIC5ib3hEZXN0YXF1ZXMgYSB7DQogICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBmb250LXNpemU6IDE4cHg7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7DQoNCiAgICAuYm94RGVzdGFxdWVzIHsNCiAgICAgICAgcGFkZGluZzogMDsNCiAgICB9DQoNCiAgICAuYm94RGVzdGFxdWVzIGgyLnRpdHVsbywNCiAgICAuYm94RGVzdGFxdWVzIHVsIGgyIHsNCiAgICAgICAgZm9udC1zaXplOiAyMnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICB9DQoNCiAgICAuYm94RGVzdGFxdWVzIGgyLnRpdHVsbyB7DQogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsNCiAgICB9DQoNCiAgICAuYm94RGVzdGFxdWVzIGgyIGJyIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAuYm94RGVzdGFxdWVzIHVsIGxpLnNsaWNrLXNsaWRlIHsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICB9DQoNCn0NCg0KLyogcGFzc29zLmNzcyAqLw0KDQoucGFzc29zQXByb3ZhY2FvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiAjMjQyYzM1Ow0KICAgIHBhZGRpbmc6IDUwcHggMDsNCn0NCg0KLnBhc3Nvc0Fwcm92YWNhbyBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgNDBweCAwOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBmb250LXNpemU6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDQycHg7DQp9DQoNCi5wYXNzb3NBcHJvdmFjYW8gaDIgc3Ryb25nIHsNCiAgICBjb2xvcjogI0YwOUMwMDsNCn0NCg0KLnBhc3Nvc0Fwcm92YWNhbyBwaWN0dXJlIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5wYXNzb3NBcHJvdmFjYW8gew0KICAgICAgICBwYWRkaW5nOiAzNXB4IDA7DQogICAgfQ0KDQogICAgLnBhc3Nvc0Fwcm92YWNhbyBoMiB7DQogICAgICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgfQ0KDQogICAgLnBhc3Nvc0Fwcm92YWNhbyBoMiBiciB7DQogICAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KDQp9DQoNCi8qIGRpYXNEZVRlc3RlLmNzcyAqLw0KDQouZGlhc0RlVGVzdGUgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogNTBweCAwIDcwcHggMDsNCn0NCg0KLyogQm94ICovDQoNCi5kaWFzRGVUZXN0ZSAuYm94SXRlbSAuYm94SW50ZXJubyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzQ3NTU2OTsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBib3JkZXItcmFkaXVzOiA4cHg7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIHBhZGRpbmc6IDQwcHggMzBweDsNCiAgICBoZWlnaHQ6IDE4MHB4Ow0KfQ0KDQouZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gLmJveFRleHRvIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7DQp9DQoNCi5kaWFzRGVUZXN0ZSAuYm94SXRlbSAuYm94SW50ZXJubyAuYm94VGV4dG8gLnRpdHVsbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgbWFyZ2luOiAwIDAgMTBweCAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBmb250LXdlaWdodDogNzAwOw0KfQ0KDQouZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gLmJveFRleHRvIC50ZXh0byB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KfQ0KDQouZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gLmJveFRleHRvIC5jb25kaWNhbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIG1hcmdpbi10b3A6IDEwcHg7DQp9DQoNCi5kaWFzRGVUZXN0ZSAuYm94SXRlbSAuYm94SW50ZXJubyBmaWd1cmUgaW1nIHsNCiAgICB3aWR0aDogODBweDsNCiAgICBtaW4td2lkdGg6IDgwcHg7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7DQoNCiAgICAuZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gew0KICAgICAgICBoZWlnaHQ6IDIyMHB4Ow0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgew0KDQogICAgLmRpYXNEZVRlc3RlIC5ib3hJdGVtIHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgfQ0KDQogICAgLmRpYXNEZVRlc3RlIC5ib3hJdGVtICsgLmJveEl0ZW0gew0KICAgICAgICBtYXJnaW4tdG9wOiAxMHB4Ow0KICAgIH0NCg0KICAgIC5kaWFzRGVUZXN0ZSAuYm94SXRlbSAuYm94SW50ZXJubyB7DQogICAgICAgIGhlaWdodDogYXV0bzsNCiAgICB9DQoNCiAgICAuZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gLmJveFRleHRvIC50aXR1bG8gew0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICB9DQoNCiAgICAuZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gLmJveFRleHRvIC50aXR1bG8gYnIgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7DQoNCiAgICAuZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gew0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7DQogICAgICAgIHBhZGRpbmc6IDIwcHg7DQogICAgfQ0KDQogICAgLmRpYXNEZVRlc3RlIC5ib3hJdGVtIC5ib3hJbnRlcm5vIC5ib3hUZXh0byB7DQogICAgICAgIG1hcmdpbjogMjBweCAwIDAgMDsNCiAgICB9DQoNCn0NCg0KLyogY29uY3Vyc29zRG9zU29uaG9zLmNzcyAqLw0KDQouY29uY3Vyc29Eb3NTb25ob3Mgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogMCAwIDcwcHggMDsNCn0NCg0KLmNvbmN1cnNvRG9zU29uaG9zIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDAgMCA2MHB4IDA7DQogICAgZm9udC1zaXplOiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLmNvbmN1cnNvRG9zU29uaG9zIHVsIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAwIDUwcHg7DQogICAgbWFyZ2luOiAwOw0KfQ0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgbGkgew0KICAgIGhlaWdodDogYXV0bzsNCn0NCg0KLmNvbmN1cnNvRG9zU29uaG9zIHVsIGxpIC5ib3hJbnRlcm5vIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyB1bCBsaSAuYm94SW50ZXJubyBmaWd1cmUgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgbGkgLmJveEludGVybm8gZmlndXJlIGltZyB7DQogICAgd2lkdGg6IDEwMCU7DQp9DQoNCi8qIFRleHRvcyAqLw0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgbGkgLmJveEludGVybm8gLmJveFRleHRvQ29uY3Vyc28gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAyMHB4Ow0KfQ0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgbGkgLmJveEludGVybm8gLmJveFRleHRvQ29uY3Vyc28gaDMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIG1hcmdpbjogMDsNCiAgICBmb250LXNpemU6IDI4cHg7DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyB1bCBsaSAuYm94SW50ZXJubyAuYm94VGV4dG9Db25jdXJzbyAudmFnYXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBtYXJnaW46IDVweCAwIDAgMDsNCn0NCg0KLmNvbmN1cnNvRG9zU29uaG9zIHVsIGxpIC5ib3hJbnRlcm5vIC5ib3hUZXh0b0NvbmN1cnNvIC5uaXZlbCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIG1hcmdpbi10b3A6IDVweDsNCn0NCg0KLmNvbmN1cnNvRG9zU29uaG9zIHVsIGxpIC5ib3hJbnRlcm5vIC5ib3hUZXh0b0NvbmN1cnNvIC5zYWxhcmlvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbWFyZ2luLXRvcDogNXB4Ow0KfQ0KDQovKiBTZXRhcyAqLw0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgLnNldGFCYW5uZXIgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IGNhbGMoNTAlIC0gMTJweCk7DQogICAgbGVmdDogMDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgei1pbmRleDogMTsNCiAgICB3aWR0aDogNDVweDsNCiAgICBoZWlnaHQ6IDQ1cHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzFFMkEzQjsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyB1bCAuc2V0YUJhbm5lci5wcm94aW1vIHsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOw0KICAgIHJpZ2h0OiAwOw0KICAgIGxlZnQ6IGF1dG87DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyB1bCAuc2V0YUJhbm5lci5zbGljay1kaXNhYmxlZCB7DQogICAgb3BhY2l0eTogMC41Ow0KICAgIGN1cnNvcjogZGVmYXVsdDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLmNvbmN1cnNvRG9zU29uaG9zIHsNCiAgICAgICAgcGFkZGluZzogNDBweCAwOw0KICAgIH0NCg0KICAgIC5jb25jdXJzb0Rvc1NvbmhvcyBoMiB7DQogICAgICAgIGZvbnQtc2l6ZTogMjZweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7DQogICAgICAgIG1hcmdpbjogMCAwIDM1cHggMDsNCiAgICB9DQoNCiAgICAuY29uY3Vyc29Eb3NTb25ob3MgdWwgew0KICAgICAgICBwYWRkaW5nOiAwIDIwcHg7DQogICAgfQ0KDQp9DQoNCi8qIHByZXZpc2FvRGVBdW1lbnRvLmNzcyAqLw0KDQoucHJldmlzYW9EZUF1bWVudG8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogMCAwIDgwcHggMDsNCn0NCg0KLnByZXZpc2FvRGVBdW1lbnRvIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDAgMCA0MHB4IDA7DQogICAgZm9udC1zaXplOiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLnByZXZpc2FvRGVBdW1lbnRvIGgyIHN0cm9uZyB7DQogICAgY29sb3I6ICNGMDlDMDA7DQp9DQoNCi5wcmV2aXNhb0RlQXVtZW50byBwIHsNCiAgICBjb2xvcjogI0UyRThGMDsNCiAgICBmb250LXdlaWdodDogbGlnaHRlcjsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbWFyZ2luOiAwIDAgNTBweCAwOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLyogTWVudSAqLw0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhTWVudXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDNweCAjOTk5OTk5Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBtYXJnaW4tYm90dG9tOiA0MHB4Ow0KfQ0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhTWVudXMgLmJveEludGVybm8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhTWVudXMgLmJveEludGVybm8gdWwgew0KICAgIHBhZGRpbmc6IDA7DQogICAgbWFyZ2luOiAwIDAgLTNweCAwOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBtaW4td2lkdGg6IDExODBweDsNCiAgICB6LWluZGV4OiA5OTk7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhTWVudXMgLmJveEludGVybm8gdWwgbGkgew0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHBhZGRpbmc6IDEwcHg7DQogICAgY29sb3I6ICNmZmY7DQogICAgYm9yZGVyLWJvdHRvbTogc29saWQgNXB4IHRyYW5zcGFyZW50Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7DQogICAgbWFyZ2luOiAwIDJweDsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCn0NCg0KLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YU1lbnVzIC5ib3hJbnRlcm5vIHVsIGxpOmhvdmVyLA0KLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YU1lbnVzIC5ib3hJbnRlcm5vIHVsIGxpLmFjdGl2ZSB7DQogICAgY29sb3I6ICNGMDlDMDA7DQogICAgYm9yZGVyLWNvbG9yOiAjRjA5QzAwOw0KfQ0KDQovKiBDb250ZcO6ZG8gKi8NCg0KLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YUNvbnRldWRvcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhQ29udGV1ZG9zIC5ib3hJbnRlcm5vIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YUNvbnRldWRvcyAuYm94SW50ZXJubyAuYm94SXRlbUNvbnRldWRvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtaW4td2lkdGg6IDc2OHB4Ow0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNTBweCkgew0KDQogICAgLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YU1lbnVzIC5ib3hJbnRlcm5vIHsNCiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsNCiAgICB9DQoNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLnByZXZpc2FvRGVBdW1lbnRvIHsNCiAgICAgICAgcGFkZGluZzogMTBweCAwIDMwcHggMDsNCiAgICB9ICAgIA0KDQogICAgLnByZXZpc2FvRGVBdW1lbnRvIGgyIHsNCiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOw0KICAgICAgICBmb250LXNpemU6IDIycHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4Ow0KICAgIH0NCg0KICAgIC5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFNZW51cyAuYm94SW50ZXJubzo6LXdlYmtpdC1zY3JvbGxiYXIgew0KICAgICAgICB3aWR0aDogMDsNCiAgICAgICAgaGVpZ2h0OiAwOw0KICAgIH0NCg0KICAgIC5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFNZW51cyAuYm94SW50ZXJubyB1bCB7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIHotaW5kZXg6IDk5OTsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIH0NCg0KICAgIC5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFNZW51cyAuYm94SW50ZXJubyB1bCBsaSB7DQogICAgICAgIHBhZGRpbmc6IDhweCAxMHB4Ow0KICAgIH0NCg0KICAgIC5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFDb250ZXVkb3MgLmJveEludGVybm8gew0KICAgICAgICBvdmVyZmxvdzogYXV0bzsNCiAgICB9DQoNCiAgICAucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhQ29udGV1ZG9zIC5ib3hJbnRlcm5vOjotd2Via2l0LXNjcm9sbGJhciB7DQogICAgICAgIHdpZHRoOiAwOw0KICAgICAgICBoZWlnaHQ6IDA7DQogICAgfQ0KDQp9DQoNCi8qIGNvbnRldWRvcy5jc3MgKi8NCg0KLmJveENvbnRldWRvcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZDogIzBGMUEyQTsNCiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsNCn0NCg0KLmJveENvbnRldWRvcyBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgNDBweCAwOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCn0NCg0KLyogTGlzdGEgUGFzc29zICovDQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIHsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJd2lkdGg6IDEwMCU7DQoJcGFkZGluZzogMDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIHsNCglmbG9hdDogbGVmdDsNCiAgICBib3JkZXI6IDA7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luOiAwIWltcG9ydGFudDsNCiAgICBwYWRkaW5nLWJvdHRvbTogMDsNCiAgICBib3JkZXItcmFkaXVzOiAwIWltcG9ydGFudDsNCglib3gtc2hhZG93OiBub25lIWltcG9ydGFudDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQoJYmFja2dyb3VuZDogbm9uZTsNCiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzMyMzUzRDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uIHsNCgljdXJzb3I6IHBvaW50ZXI7DQoJYm9yZGVyOiAwOw0KCXdpZHRoOiAxMDAlOw0KCWJhY2tncm91bmQ6ICMxMjE1MjA7DQoJZmxvYXQ6IGxlZnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG91dGxpbmU6IG5vbmUhaW1wb3J0YW50Ow0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b246bm90KC5jb2xsYXBzZWQpIHsNCiAgICBiYWNrZ3JvdW5kOiAjQ0JENEUxOw0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gLmNvbnRhaW5lciB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICBoZWlnaHQ6IDcwcHg7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0Ow0KICAgIGZsZXg6IDE7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC50aXR1bG8gew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uOm5vdCguY29sbGFwc2VkKSAuYm94VGl0dWxvIC50aXR1bG8gew0KICAgIGNvbG9yOiAjMjIyMjIyOw0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gLmJveFRpdHVsbyAuYm94VGFncyB7DQogICAgcGFkZGluZzogMDsNCiAgICBtYXJnaW46IDAgMCAwIDMwcHg7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uOm5vdCguY29sbGFwc2VkKSAuYm94VGl0dWxvIC5ib3hUYWdzIHsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gLmJveFRpdHVsbyAuYm94VGFncyBsaSB7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgICBiYWNrZ3JvdW5kOiAjOUE5Mjg0Ow0KICAgIGNvbG9yOiAjNDQ0NDQ0Ow0KICAgIHBhZGRpbmc6IDVweCAxNXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC5ib3hUYWdzIGxpICsgbGkgew0KICAgIG1hcmdpbi1sZWZ0OiA1cHg7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC5ib3hUYWdzIGxpLnByZW1pdW0gew0KICAgIGJhY2tncm91bmQ6ICM2QjYzNTQ7DQogICAgY29sb3I6ICNmZmY7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC5ib3hUYWdzIGxpLnBsYXRpbnVtIHsNCiAgICBiYWNrZ3JvdW5kOiAjMzYzNTMwOw0KICAgIGNvbG9yOiAjREFDRUE0Ow0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gaW1nIHsNCiAgICBtYXJnaW4tbGVmdDogMTVweDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uIGltZy5pbWdCdXR0b24gew0KICAgIG1heC13aWR0aDogMzBweDsNCiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7DQogICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyIDBzOw0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b246bm90KC5jb2xsYXBzZWQpIGltZy5pbWdCdXR0b24gew0KICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uIHNwYW4gew0KCWNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCAuYm94Q29udGV1ZG8gew0KCXBhZGRpbmc6IDAgMDsNCglmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGJhY2tncm91bmQ6ICNDQkQ0RTE7DQogICAgYm9yZGVyLXRvcDogc29saWQgMXB4IHRyYW5zcGFyZW50Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhciAwczsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgLmJveENvbnRldWRvIHAgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMCAwIDMwcHggMDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgLmJveENvbnRldWRvIC50YWdzQ29udGV1ZG8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCAuYm94Q29udGV1ZG8gLnRhZ3NDb250ZXVkbyBzcGFuIHsNCiAgICBjb2xvcjogIzI1MjYzMzsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIG1hcmdpbjogMCAwIDE1cHggMDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgLmJveENvbnRldWRvIC50YWdzQ29udGV1ZG8gdWwgew0KICAgIHBhZGRpbmc6IDA7DQogICAgbWFyZ2luOiAwIDAgMzBweCAwOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7DQogICAgZmxvYXQ6IGxlZnQ7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIC5ib3hDb250ZXVkbyAudGFnc0NvbnRldWRvIHVsIGxpIHsNCiAgICBsaXN0LXN0eWxlOiBub25lOw0KICAgIGJhY2tncm91bmQ6ICNBMzZCMDA7DQogICAgY29sb3I6ICNmZmY7DQogICAgcGFkZGluZzogNXB4IDE1cHg7DQogICAgYm9yZGVyLXJhZGl1czogMjBweDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgLmJveENvbnRldWRvIC50YWdzQ29udGV1ZG8gdWwgbGkgKyBsaSB7DQogICAgbWFyZ2luLWxlZnQ6IDVweDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgLmJveENvbnRldWRvIC50YWdzQ29udGV1ZG8gdWwgbGkucHJlbWl1bSB7DQogICAgYmFja2dyb3VuZDogIzdENTIwMDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgLmJveENvbnRldWRvIC50YWdzQ29udGV1ZG8gdWwgbGkucGxhdGludW0gew0KICAgIGJhY2tncm91bmQ6ICM1OTNBMDA7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIC5ib3hDb250ZXVkbyB2aWRlbyB7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1MHB4KSB7DQoNCiAgICAuYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gLmNvbnRhaW5lciB7DQogICAgICAgIGhlaWdodDogYXV0bzsNCiAgICB9DQoNCiAgICAuYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gLmJveFRpdHVsbyB7DQogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0Ow0KICAgIH0NCg0KICAgIC5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIC50aXR1bG8gew0KICAgICAgICBmb250LXNpemU6IDE1cHg7DQogICAgfQ0KDQogICAgLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uIC5ib3hUaXR1bG8gLmJveFRhZ3Mgew0KICAgICAgICBtYXJnaW46IDEwcHggMCAwIDA7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5ib3hDb250ZXVkb3Mgew0KICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsNCiAgICB9DQogICAgDQogICAgLmJveENvbnRldWRvcyBoMiB7DQogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsNCiAgICAgICAgZm9udC1zaXplOiAyMnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICB9DQoNCiAgICAuYm94Q29udGV1ZG9zIHAgew0KICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsNCiAgICB9DQoNCiAgICAuYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gew0KICAgICAgICBwYWRkaW5nOiAxNXB4IDA7DQogICAgfQ0KDQogICAgLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uIC50aXR1bG8gew0KICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgIH0NCg0KICAgIC5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIC5ib3hDb250ZXVkbyBwIHsNCiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwOw0KICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgfQ0KDQp9DQoNCi8qIHByb2Zlc3NvcmVzRXNwZWNpYWxpc3Rhcy5jc3MgKi8NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzBGMUEyQTsNCiAgICBwYWRkaW5nOiAwOw0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDAgMCAyNXB4IDA7DQogICAgZm9udC1zaXplOiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIHAuc3VidGl0dWxvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI0UyRThGMDsNCiAgICBtYXJnaW46IDAgMCA0MHB4IDA7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxNzAlOw0KfQ0KDQovKiBDb2xhcHNlICovDQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIHsNCglmbG9hdDogbGVmdDsNCiAgICBib3JkZXI6IDA7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luOiAwIWltcG9ydGFudDsNCiAgICBwYWRkaW5nLWJvdHRvbTogMDsNCiAgICBib3JkZXItcmFkaXVzOiAwIWltcG9ydGFudDsNCglib3gtc2hhZG93OiBub25lIWltcG9ydGFudDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQoJYmFja2dyb3VuZDogbm9uZTsNCiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzMyMzUzRDsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCBidXR0b24gew0KCWN1cnNvcjogcG9pbnRlcjsNCglib3JkZXI6IDA7DQoJd2lkdGg6IDEwMCU7DQoJYmFja2dyb3VuZDogIzBBMTIxRjsNCglmbG9hdDogbGVmdDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgb3V0bGluZTogbm9uZSFpbXBvcnRhbnQ7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgYnV0dG9uIC5jb250YWluZXIgew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgaGVpZ2h0OiA3MHB4Ow0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIGJ1dHRvbiAudGl0dWxvIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDE2cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgZmxleDogMTsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCBidXR0b24gaW1nIHsNCiAgICBtYXgtd2lkdGg6IDMwcHg7DQogICAgbWFyZ2luLXJpZ2h0OiAxMHB4Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhciAwczsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCBidXR0b246bm90KC5jb2xsYXBzZWQpIGltZyB7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIGJ1dHRvbiBzcGFuIHsNCgljb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDE4cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCAuYm94Q29udGV1ZG8gew0KCXBhZGRpbmc6IDUwcHggMCAyMHB4IDA7DQoJZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICBiYWNrZ3JvdW5kOiAjMUUyQTNCOw0KICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCB0cmFuc3BhcmVudDsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXIgMHM7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIHsNCiAgICBtYXJnaW4tYm90dG9tOiAzMHB4Ow0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIC5ib3hDb250ZXVkbyB1bCBsaSAuYm94SW50ZXJubyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIGJhY2tncm91bmQ6ICMwMDA7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgbGkgLmJveEludGVybm8gaW1nIHsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgbGkgLmJveEludGVybm8gLmJveFRleHRvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAyMHB4Ow0KICAgIGJhY2tncm91bmQ6ICNmZmY7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIC5ib3hJbnRlcm5vIC5ib3hUZXh0byBzcGFuIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGNvbG9yOiAjMUUyQTNCOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgbGkgLmJveEludGVybm8gLmJveFRleHRvIHAgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjMUUyQTNCOw0KICAgIG1hcmdpbjogMDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDE4cHg7DQogICAgbWluLWhlaWdodDogOTBweDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTBweCkgew0KDQogICAgLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgbGkgew0KICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgd2lkdGg6IDMzLjMzMzMzMzMzJTsNCiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMyU7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgew0KICAgICAgICBwYWRkaW5nOiAwIDAgMzBweCAwOw0KICAgIH0NCg0KICAgIC5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgaDIgew0KICAgICAgICBmb250LXNpemU6IDIycHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4Ow0KICAgIH0NCg0KICAgIC5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIHsNCiAgICAgICAgd2lkdGg6IDUwJTsNCiAgICAgICAgbWF4LXdpZHRoOiA1MCU7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHsNCg0KICAgIC5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIC5ib3hJbnRlcm5vIC5ib3hUZXh0byBwIHsNCiAgICAgICAgbWluLWhlaWdodDogMTMwcHg7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcwcHgpIHsNCg0KICAgIC5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIHsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICB9DQoNCiAgICAucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIC5ib3hDb250ZXVkbyB1bCBsaSAuYm94SW50ZXJubyAuYm94VGV4dG8gcCB7DQogICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87DQogICAgfQ0KDQp9DQoNCi8qIHJlc3VsdGFkb3MuY3NzICovDQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEYxQTJBOw0KICAgIHBhZGRpbmc6IDUwcHggMDsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmJveFRpdHVsb0dlcmFsIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tYm90dG9tOiA0MHB4Ow0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAuYm94VGl0dWxvR2VyYWwgaDIgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIG1hcmdpbjogMDsNCiAgICBmb250LXNpemU6IDM0cHg7DQp9DQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5ib3hUaXR1bG9HZXJhbCBwIHsNCiAgICBjb2xvcjogI0UyRThGMDsNCiAgICBmb250LXdlaWdodDogbGlnaHRlcjsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbWFyZ2luOiAwOw0KfQ0KDQovKiBMaXN0YSAqLw0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQ6ICMxMjE1MjA7DQogICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDMwcHg7DQp9DQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmJveENhcnJlaXJhIC5ib3hUaXR1bG8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjMzIzNTNEOw0KICAgIHBhZGRpbmc6IDAgMjBweDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICAgIGhlaWdodDogNjVweDsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmJveFRpdHVsbyBoMyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgbWFyZ2luOiAwOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBsaW5lLWhlaWdodDogMjRweDsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMjQwcHg7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzFFMkEzQjsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgLmJveFJlc3VsdGFkbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMjBweDsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgLmJveFJlc3VsdGFkbyArIC5ib3hSZXN1bHRhZG8gew0KICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjRDFENkRDOw0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyAuYm94UmVzdWx0YWRvIC5ib3hSZXN1bHRhZG9JbnRlcm5vIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgLmJveFJlc3VsdGFkbyAuYm94UmVzdWx0YWRvSW50ZXJubyAuYm94VGV4dG8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQp9DQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmJveENhcnJlaXJhIC5saXN0YUl0ZW5zIC5ib3hSZXN1bHRhZG8gLmJveFJlc3VsdGFkb0ludGVybm8gLmJveFRleHRvIC50ZXh0byB7DQogICAgY29sb3I6ICNGRkZGRkY7DQogICAgZm9udC1zaXplOiAxMXB4Ow0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBsaW5lLWhlaWdodDogMTYwJTsNCiAgICBmbGV4OiAxOw0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyAuYm94UmVzdWx0YWRvIC5ib3hSZXN1bHRhZG9JbnRlcm5vIC5ib3hUZXh0byBpbWcgew0KICAgIG1hcmdpbi1sZWZ0OiAxNXB4Ow0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyAuYm94UmVzdWx0YWRvIC5ib3hSZXN1bHRhZG9JbnRlcm5vIC5jaGFydCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogODBweDsNCiAgICBoZWlnaHQ6IDgwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIG1hcmdpbi1sZWZ0OiAxNXB4Ow0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyAuYm94UmVzdWx0YWRvIC5ib3hSZXN1bHRhZG9JbnRlcm5vIC5jaGFydCBjYW52YXMgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgbGVmdDogMDsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgLmJveFJlc3VsdGFkbyAuYm94UmVzdWx0YWRvSW50ZXJubyAucGVyY2VudCB7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBmb250LXNpemU6IDE1cHg7DQp9DQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmJveENhcnJlaXJhIC5saXN0YUl0ZW5zIC5ib3hSZXN1bHRhZG8gLmJveFJlc3VsdGFkb0ludGVybm8gLnBlcmNlbnQ6YWZ0ZXIgew0KICAgIGNvbnRlbnQ6JyUnOw0KICAgIG1hcmdpbi1sZWZ0OiAwLjFlbTsNCiAgICBmb250LXNpemU6IC44ZW07DQp9DQoNCi8qIENhcnJlZ2FyIFJlc3VsdGFkb3MgKi8NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmJveEJvdGFvQ2FycmVnYXIgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmJveEJvdGFvQ2FycmVnYXIgc3BhbiB7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHsNCg0KICAgIC5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmNvbC1zbS0zIHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7DQogICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOw0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1MHB4KSB7DQoNCiAgICAucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5jb2wtc20tMyB7DQogICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICB3aWR0aDogNTAlOw0KICAgICAgICBtYXgtd2lkdGg6IDUwJTsNCiAgICB9DQoNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLnJlc3VsdGFkb3NDb25jdXJzb3Mgew0KICAgICAgICBwYWRkaW5nOiAzMHB4IDA7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMwcHgpIHsNCg0KICAgIC5yZXN1bHRhZG9zQ29uY3Vyc29zIC5ib3hUaXR1bG9HZXJhbCBoMiB7DQogICAgICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMwcHgpIHsNCg0KICAgIC5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmNvbC1zbS0zIHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgfQ0KDQogICAgLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgew0KICAgICAgICBoZWlnaHQ6IGF1dG87DQogICAgfQ0KDQp9DQoNCi8qIGNvbmN1cnNvcy5jc3MgKi8NCg0KLmNoYW1hZGFDb25jdXJzb3Mgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogMCAwIDcwcHggMDsNCn0NCg0KLmNoYW1hZGFDb25jdXJzb3MgLmJveEJnIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2JnLWNvbmN1cnNvcy5wbmcpICMwODA4MDggY2VudGVyIHJpZ2h0IG5vLXJlcGVhdDsNCiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOw0KICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7DQogICAgcGFkZGluZzogMzBweCAyMHB4Ow0KfQ0KDQouY2hhbWFkYUNvbmN1cnNvcyAuYm94QmcgaDIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5jaGFtYWRhQ29uY3Vyc29zIC5ib3hCZyBoMiBzdHJvbmcgew0KICAgIGNvbG9yOiAjQzYxNjE2Ow0KfQ0KDQouY2hhbWFkYUNvbmN1cnNvcyAuYm94QmcgcCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luOiAyMHB4IDA7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KfQ0KDQouY2hhbWFkYUNvbmN1cnNvcyAuYm94QmcgYSB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHBhZGRpbmc6IDhweCA1MHB4Ow0KICAgIGJvcmRlcjogc29saWQgMnB4ICNmZmY7DQogICAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICAgIG91dGxpbmU6IG5vbmU7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQp9DQoNCi5jaGFtYWRhQ29uY3Vyc29zIC5ib3hCZyBhIHNwYW4gew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5jaGFtYWRhQ29uY3Vyc29zIHsNCiAgICAgICAgcGFkZGluZzogMCAwIDUwcHggMDsNCiAgICB9DQoNCiAgICAuY2hhbWFkYUNvbmN1cnNvcyAuYm94Qmcgew0KICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2JnLWNvbmN1cnNvcy1tb2JpbGUucG5nKSAjMDgwODA4IGJvdHRvbSBjZW50ZXIgbm8tcmVwZWF0Ow0KICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMTYwcHggMTBweDsNCiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87DQogICAgfQ0KDQogICAgLmNoYW1hZGFDb25jdXJzb3MgLmJveEJnIGgyIGJyIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAuY2hhbWFkYUNvbmN1cnNvcyAuYm94QmcgLmNvbC1zbS03IHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgfQ0KDQogICAgLmNoYW1hZGFDb25jdXJzb3MgLmJveEJnIGgyIHsNCiAgICAgICAgZm9udC1zaXplOiAyMHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzBweDsNCiAgICB9DQoNCiAgICAuY2hhbWFkYUNvbmN1cnNvcyAuYm94QmcgYSB7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgIH0NCg0KfQ0KDQovKiBkZXBvaW1lbnRvcy5jc3MgKi8NCg0KLmRlcG9pbWVudG9zQXByb3ZhZG9zIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEYxQTJBOw0KICAgIHBhZGRpbmc6IDAgMCA1MHB4IDA7DQogICAgbWF4LWhlaWdodDogNzAwcHg7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5kZXBvaW1lbnRvc0Fwcm92YWRvcyBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgNDBweCAwOw0KICAgIGZvbnQtc2l6ZTogMzRweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCi5kZXBvaW1lbnRvc0Fwcm92YWRvcyAuZWxlbS1ib3ggew0KICAgIG92ZXJmbG93OiB1bnNldDsNCiAgICBtYXJnaW46IDA7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQovKiBUw610dWxvICovDQoNCi5kZXBvaW1lbnRvc0Fwcm92YWRvcyAuYm94VGl0dWxvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KfQ0KDQovKiBMaXN0YSAqLw0KDQouZGVwb2ltZW50b3NBcHJvdmFkb3MgLmJveExpc3RhRGVwb2ltZW50b3Mgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQovKiBDYXJyZWdhciBNYWlzIERlcG9pbWVudG9zICovDQoNCi5kZXBvaW1lbnRvc0Fwcm92YWRvcyAudmVyTWFpc0RlcG9pbWVudG9zIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzBGMUEyQSAwJSwgNzAlLCB0cmFuc3BhcmVudCk7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIHotaW5kZXg6IDk5OTk5OTk5Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBwYWRkaW5nOiA1MHB4IDAgMzBweCAwOw0KfQ0KDQouZGVwb2ltZW50b3NBcHJvdmFkb3MgLnZlck1haXNEZXBvaW1lbnRvcyBzcGFuIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB6LWluZGV4OiA5OTk5OTk5OTsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLmRlcG9pbWVudG9zQXByb3ZhZG9zIHsNCiAgICAgICAgcGFkZGluZzogMDsNCiAgICB9DQoNCiAgICAuZGVwb2ltZW50b3NBcHJvdmFkb3MgLmJveFRpdHVsbyB7DQogICAgICAgIG1hcmdpbjogMDsNCiAgICB9DQoNCiAgICAuZGVwb2ltZW50b3NBcHJvdmFkb3MgaDIgew0KICAgICAgICBtYXJnaW46IDA7DQogICAgICAgIGZvbnQtc2l6ZTogMjZweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7DQogICAgfQ0KDQp9DQoNCi8qIGR1dmlkYXMuY3NzICovDQoNCg0KLnRpcmVEdXZpZGFzIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiAjRkFGQUZBOw0KICAgIHBhZGRpbmc6IDUwcHggMCA1MHB4IDA7DQp9DQoNCi50aXJlRHV2aWRhcyBoMiB7DQogICAgY29sb3I6ICMyMjI7DQogICAgZm9udC1zaXplOiAyOHB4Ow0KICAgIG1hcmdpbjogMCAwIDMwcHggMDsNCiAgICBsaW5lLWhlaWdodDogMTUwJTsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCg0KLyogQ29sYXBzZSAqLw0KDQoubGlzdGFDb250ZXVkb3Mgew0KCWZsb2F0OiBsZWZ0Ow0KCXdpZHRoOiAxMDAlOw0KCXBhZGRpbmc6IDA7DQp9DQoNCi5saXN0YUNvbnRldWRvcyAuY2FyZCB7DQoJZmxvYXQ6IGxlZnQ7DQogICAgYm9yZGVyOiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7DQogICAgcGFkZGluZy1ib3R0b206IDA7DQogICAgYm9yZGVyLXJhZGl1czogMCFpbXBvcnRhbnQ7DQoJYm94LXNoYWRvdzogbm9uZSFpbXBvcnRhbnQ7DQoJYmFja2dyb3VuZDogbm9uZTsNCglib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2U3ZTdlNzsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5jYXJkLWhlYWRlciB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQp9DQoNCi5saXN0YUNvbnRldWRvcyAuY2FyZCBidXR0b24gew0KCWN1cnNvcjogcG9pbnRlcjsNCglib3JkZXI6IDA7DQoJd2lkdGg6IDEwMCU7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCWJhY2tncm91bmQ6IG5vbmU7DQoJZmxvYXQ6IGxlZnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGhlaWdodDogNzBweDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICAgIG91dGxpbmU6IG5vbmUhaW1wb3J0YW50Ow0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgYnV0dG9uIGltZyB7DQogICAgbWF4LXdpZHRoOiAzMHB4Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhciAwczsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIGJ1dHRvbjpub3QoLmNvbGxhcHNlZCkgaW1nIHsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOw0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgYnV0dG9uIHNwYW4gew0KCWNvbG9yOiAjNDQ0NDQ0Ow0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgLmJveENvbnRldWRvIHsNCglwYWRkaW5nOiAyMHB4IDA7DQoJZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5ib3hDb250ZXVkbyBwIHsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgY29sb3I6ICM0NDQ0NDQ7DQogICAgbGluZS1oZWlnaHQ6IDE4NSU7DQp9DQoNCi5saXN0YUNvbnRldWRvcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgew0KICAgIHBhZGRpbmc6IDAgMCAwIDQwcHg7DQp9DQoNCi5saXN0YUNvbnRldWRvcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgbGkgew0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBwYWRkaW5nOiAzcHggMDsNCiAgICBjb2xvcjogIzQ0NDQ0NDsNCiAgICBsaW5lLWhlaWdodDogMTg1JTsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5ib3hDb250ZXVkbyBzdHJvbmcgew0KICAgIGNvbG9yOiAjREM5QTRDOw0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgLmJveENvbnRldWRvIHRhYmxlIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5ib3hDb250ZXVkbyB0YWJsZSB0ciB0ZCB7DQogICAgcGFkZGluZzogMTBweDsNCiAgICBib3JkZXI6IHNvbGlkIDFweCAjNDE0MjRDOw0KICAgIGNvbG9yOiAjNDQ0NDQ0Ow0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgLmJveENvbnRldWRvIHRhYmxlIHRyIHRkOmZpcnN0LWNoaWxkIHsNCiAgICB3aWR0aDogMjUlOw0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgLmJveENvbnRldWRvIGltZyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5ib3hDb250ZXVkby5pbiB7DQoJYm9yZGVyLXRvcDogc29saWQgMXB4ICNlN2U3ZTc7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7DQoNCiAgICAudGlyZUR1dmlkYXMgew0KICAgICAgICBwYWRkaW5nOiAzMHB4IDA7DQogICAgfQ0KDQogICAgLnRpcmVEdXZpZGFzIGgyIHsNCiAgICAgICAgZm9udC1zaXplOiAyNnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzZweDsNCiAgICB9DQoNCiAgICAubGlzdGFDb250ZXVkb3MgLmNhcmQgYnV0dG9uIHsNCiAgICAgICAgaGVpZ2h0OiBhdXRvOw0KICAgICAgICBwYWRkaW5nOiAxMHB4IDA7DQogICAgfQ0KDQogICAgLmxpc3RhQ29udGV1ZG9zIC5jYXJkIGJ1dHRvbiBzcGFuIHsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7DQogICAgICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICB9DQoNCiAgICAubGlzdGFDb250ZXVkb3MgLmNhcmQgYnV0dG9uIGltZyB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4Ow0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1MHB4KSB7DQoNCiAgICANCg0KfQ0KDQovKiBmb290ZXIuY3NzICovDQoNCi5mb290ZXJQYWdlIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogNTBweCAwOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgbWFyZ2luOiAwIGF1dG87DQogICAgZGlzcGxheTogZmxleDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCn0NCg0KLmZvb3RlclBhZ2UgLmZvb3RlckludGVybm8gew0KICAgIG1heC13aWR0aDogMjAwMHB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQovKiBCb3ggQ2ltYSAqLw0KDQouZm9vdGVyUGFnZSAuYm94Q2ltYSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMCAxMDBweDsNCiAgICBkaXNwbGF5OiBncmlkOw0KICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7DQogICAgZ2FwOiA0MHB4Ow0KfQ0KDQouZm9vdGVyUGFnZSAuYm94Q2ltYSAuYm94Rm9vdGVyIC5ib3hUZXh0byB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luOiA0MHB4IDA7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hDaW1hIC5ib3hGb290ZXIgLmJveFRleHRvIHAgew0KICAgIGNvbG9yOiAjOTk5OTk5Ow0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBtYXJnaW46IDA7DQogICAgbGluZS1oZWlnaHQ6IDIycHg7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hDaW1hIC5ib3hGb290ZXIgLnJlZGVzU29jaWFpcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveENpbWEgLmJveEZvb3RlciAucmVkZXNTb2NpYWlzIGEgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveENpbWEgLmJveEZvb3RlciAucmVkZXNTb2NpYWlzIGEgKyBhIHsNCiAgICBtYXJnaW4tbGVmdDogNXB4Ow0KfQ0KDQouZm9vdGVyUGFnZSAuYm94Q2ltYSAuYm94Rm9vdGVyIC50aXR1bG9Sb2RhcGUgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjNDQ0NDQ0Ow0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBtYXJnaW46IDAgMCAxNXB4IDA7DQogICAgZm9udC13ZWlnaHQ6IDYwMDsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveENpbWEgLmJveEZvb3RlciAubWVudVJvZGFwZSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMDsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hDaW1hIC5ib3hGb290ZXIgLm1lbnVSb2RhcGUgbGkgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hDaW1hIC5ib3hGb290ZXIgLm1lbnVSb2RhcGUgbGkgKyBsaSB7DQogICAgbWFyZ2luLXRvcDogN3B4Ow0KfQ0KDQouZm9vdGVyUGFnZSAuYm94Q2ltYSAuYm94Rm9vdGVyIC5tZW51Um9kYXBlIGxpIGEgew0KICAgIGNvbG9yOiAjOTk5Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveENpbWEgLmJveEZvb3RlciAubWVudVJvZGFwZSBsaSBhOmhvdmVyIHsNCiAgICBjb2xvcjogIzQ0NDQ0NDsNCn0NCg0KLyogQm94IEJhaXhvICovDQoNCi5mb290ZXJQYWdlIC5ib3hCYWl4byB7DQogICAgbWFyZ2luLXRvcDogNDBweDsNCiAgICBiYWNrZ3JvdW5kOiAjRkFGQUZBOw0KICAgIHBhZGRpbmc6IDIwcHggMTAwcHg7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveEJhaXhvIC5mb3JtYXNEZVBhZ2FtZW50byB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KfQ0KDQouZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIHNwYW4gew0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgbWFyZ2luLXJpZ2h0OiAyMHB4Ow0KfQ0KDQouZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIC5saXN0YUZvcm1hcyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveEJhaXhvIC5mb3JtYXNEZVBhZ2FtZW50byAubGlzdGFGb3JtYXMgaW1nICsgaW1nIHsNCiAgICBtYXJnaW4tbGVmdDogMTBweDsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveEJhaXhvIC5ib3hTZWxvcyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hCYWl4byAuYm94U2Vsb3MgaW1nICsgaW1nIHsNCiAgICBtYXJnaW4tbGVmdDogMTBweDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHsNCg0KICAgIC5mb290ZXJQYWdlIC5ib3hDaW1hIHsNCiAgICAgICAgcGFkZGluZzogMCAyMHB4Ow0KICAgICAgICBnYXA6IDMwcHg7DQogICAgfQ0KDQogICAgLmZvb3RlclBhZ2UgLmJveEJhaXhvIHsNCiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4Ow0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1MHB4KSB7DQoNCiAgICAuZm9vdGVyUGFnZSAuYm94Q2ltYSB7DQogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7DQogICAgfQ0KDQogICAgLmZvb3RlclBhZ2UgLmJveEJhaXhvIHsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICB9DQoNCiAgICAuZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIHsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsNCiAgICB9DQoNCiAgICAuZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIHNwYW4gew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHsNCg0KICAgIC5mb290ZXJQYWdlIC5ib3hDaW1hIHsNCiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTsNCiAgICB9DQoNCiAgICAuZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIC5saXN0YUZvcm1hcyB7DQogICAgICAgIGZsZXgtd3JhcDogd3JhcDsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgfQ0KDQogICAgLmZvb3RlclBhZ2UgLmJveEJhaXhvIC5mb3JtYXNEZVBhZ2FtZW50byAubGlzdGFGb3JtYXMgaW1nIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgICB9DQoNCn0NCgo8L3N0eWxlPgoNCiAgICANCiAgICA8aDEgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5Bc3NpbmF0dXJhcyBFQ0ogLSBFc3RyYXTDqWdpYSBDb25jdXJzb3M8L2gxPg0KDQogICAgPCEtLSBIZWFkZXIgLS0+DQogICAgPGRpdiBjbGFzcz0iaGVhZGVyTGFuZGluZyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMTIiPg0KDQogICAgICAgICAgICAgICAgPCEtLSBMb2dvIC0tPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20iIGlkPSJsb2dvTGFuZGluZzIwMjIiPg0KICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9sb2dvLWJyYW5jYS5wbmciIGFsdD0iRXN0cmF0w6lnaWEgQ29uY3Vyc29zIj4NCiAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+DQogICAgICAgICAgICAgICAgPC9hPg0KDQogICAgICAgICAgICAgICAgPCEtLSBMaW5rcyAtLT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5rc0hlYWRlciI+DQoNCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9tZXNhLWRlLWVzdHVkbyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL21pbmhhLWNvbnRhLnBuZyIgYWx0PSJNaW5oYSBjb250YSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk1pbmhhIGNvbnRhPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvY2FycmluaG8iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9tZXUtY2FycmluaG8ucG5nIiBhbHQ9Ik1ldSBjYXJyaW5obyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk1ldSBjYXJyaW5obzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9hPg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gQmFubmVyIFByaW5jaXBhbCAtLT4NCiAgICA8ZGl2IGNsYXNzPSJiYW5uZXJQcmluY2lwYWwiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KDQogICAgICAgICAgICA8IS0tIFRleHRvIC0tPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYgdGV4dG9CYW5uZXIiPg0KICAgICAgICAgICAgICAgIDxoMj5Fc3R1ZGUgY29tIHF1ZW0gPHN0cm9uZz5tYWlzIGFwcm92YTwvc3Ryb25nPjxicj4gZW0gY29uY3Vyc29zIGp1csOtZGljb3M8L2gyPg0KICAgICAgICAgICAgICAgIDxwPkVzY29saGEgYSBzdWEgYXNzaW5hdHVyYSBlIHRlbmhhIGVtIG3Do29zIG8gbWF0ZXJpYWwgdXNhZG88YnI+IHBvciBtYWlzIGRlIDxzdHJvbmc+NjAlIGRvcyBhcHJvdmFkb3M8L3N0cm9uZz4gZW0gY29uY3Vyc29zIGRlIENhcnJlaXJhczxicj4gSnVyw61kaWNhcy48L3A+DQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gQ29tcGFyYcOnw6NvIC0tPg0KICAgIDxkaXYgY2xhc3M9ImJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyIgaWQ9ImJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyI+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGV1ZG9Mb3RlIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgICAgICA8IS0tIFTDrXR1bG8gLS0+DQogICAgICAgICAgICAgICAgPGgyPkNvbmZpcmEgb3Mgbm9zc29zIDxzdHJvbmc+bW9kZWxvcyBkZSBhc3NpbmF0dXJhPC9zdHJvbmc+IGU8YnI+IGVzY29saGEgYXF1ZWxhIHF1ZSB2b2PDqiBwcmVjaXNhLjwvaDI+DQoNCiAgICAgICAgICAgICAgICA8IS0tIFNlbGV0b3IgZGUgUGxhbm9zIC0tPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFNlbGV0b3JQbGFub3MiPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0dWxvUGxhbm8gYm90YW8xQW5vIj5Bc3NpbmF0dXJhcyBkZSAxIGFubzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJzd2l0Y2hQbGFubyIgZm9yPSJjaGVja2JveFRpcG9QbGFubyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjaGVja2JveFRpcG9QbGFubyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2xpZGVyUGxhbm8iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjaXJjbGUiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdHVsb1BsYW5vIGJvdGFvMkFub3MiPkFzc2luYXR1cmFzIGRlIDIgYW5vczwvc3Bhbj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDwhLS0gTGlzdGEgZGUgQXNzaW5hdHVyYXMgLS0+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94UGxhbm9zQ29tcGFyYWNhbyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdGFDb21wYXJhY2FvIiBpZD0idGlwb0Fzc2luYXR1cmEwIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYm94SXRlbSBjb2wtc20tNCIgZGF0YS1wbGFubz0iYmFzaWNhMWFubyI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SXRlbUludGVybm8iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEJveCBCcmFuY28gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hCcmFuY28iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNZWxob3IgT2ZlcnRhIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbGhvck9mZXJ0YSI+PC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFTDrXR1bG8gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdHVsbyI+QsOhc2ljYTwvc3Bhbj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUHJlw6dvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFByZWNvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94UHJlY29JbnRlcm5vIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhUGFydGlyIj5hIHBhcnRpciBkZTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmVjb0RlIG5vbmUiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmVjb1BvciI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGluaz0iY2FycmVpcmFzRXNwZWNpZmljYXMiPkVzY29saGEgYSBzdWEgw6FyZWE8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEl0ZW5zIG1vbnRhZG9zIHBvciBtb250YXJMaXN0YXNDb21wYXJhY2FvKCkgZW0gYXNzZXRzL2pzL2luZGV4LmpzIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0YUl0ZW5zSW5jbHVzb3MiPjwvdWw+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImJveEl0ZW0gY29sLXNtLTQiIGRhdGEtcGxhbm89InByZW1pdW0xYW5vIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hJdGVtSW50ZXJubyI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQm94IEJyYW5jbyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEJyYW5jbyI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE1lbGhvciBPZmVydGEgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVsaG9yT2ZlcnRhIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+TUFJUyBWRU5ESURPPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUw610dWxvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXR1bG8iPlByZW1pdW08L3NwYW4+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByZcOnbyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hQcmVjbyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFByZWNvSW50ZXJubyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYVBhcnRpciI+YSBwYXJ0aXIgZGU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJlY29EZSBub25lIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJlY29Qb3IiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGxpbms9ImNhcnJlaXJhc0VzcGVjaWZpY2FzIj5Fc2NvbGhhIGEgc3VhIMOhcmVhPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBJdGVucyBtb250YWRvcyBwb3IgbW9udGFyTGlzdGFzQ29tcGFyYWNhbygpIGVtIGFzc2V0cy9qcy9pbmRleC5qcyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdGFJdGVuc0luY2x1c29zIj48L3VsPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJib3hJdGVtIGNvbC1zbS00IiBkYXRhLXBsYW5vPSJwbGF0aW51bSI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SXRlbUludGVybm8iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEJveCBCcmFuY28gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hCcmFuY28iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNZWxob3IgT2ZlcnRhIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbGhvck9mZXJ0YSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFTDrXR1bG8gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdHVsbyI+UGxhdGludW08L3NwYW4+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFByZcOnbyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hQcmVjbyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFByZWNvSW50ZXJubyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYVBhcnRpciI+YSBwYXJ0aXIgZGU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJlY29EZSBub25lIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJlY29Qb3IiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGxpbms9InNlc3Nhb1BsYXRpbnVtIj5Fc2NvbGhhIHVtIHBsYW5vPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBJdGVucyBtb250YWRvcyBwb3IgbW9udGFyTGlzdGFzQ29tcGFyYWNhbygpIGVtIGFzc2V0cy9qcy9pbmRleC5qcyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdGFJdGVuc0luY2x1c29zIj48L3VsPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdGFDb21wYXJhY2FvIiBpZD0idGlwb0Fzc2luYXR1cmExIj4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJib3hJdGVtIGNvbC1zbS00IiBkYXRhLXBsYW5vPSJiYXNpY2EyYW5vcyI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SXRlbUludGVybm8iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEJveCBCcmFuY28gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hCcmFuY28iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNZWxob3IgT2ZlcnRhIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbGhvck9mZXJ0YSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFTDrXR1bG8gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdHVsbyI+QsOhc2ljYTwvc3Bhbj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUHJlw6dvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFByZWNvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94UHJlY29JbnRlcm5vIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhUGFydGlyIj5hIHBhcnRpciBkZTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmVjb0RlIG5vbmUiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmVjb1BvciI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgbGluaz0iY2FycmVpcmFzRXNwZWNpZmljYXMiPkVzY29saGEgYSBzdWEgw6FyZWE8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEl0ZW5zIG1vbnRhZG9zIHBvciBtb250YXJMaXN0YXNDb21wYXJhY2FvKCkgZW0gYXNzZXRzL2pzL2luZGV4LmpzIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0YUl0ZW5zSW5jbHVzb3MiPjwvdWw+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImJveEl0ZW0gY29sLXNtLTQiIGRhdGEtcGxhbm89InByZW1pdW0yYW5vcyI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SXRlbUludGVybm8iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEJveCBCcmFuY28gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hCcmFuY28iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNZWxob3IgT2ZlcnRhIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbGhvck9mZXJ0YSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk1BSVMgVkVORElETzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVMOtdHVsbyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0dWxvIj5QcmVtaXVtPC9zcGFuPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQcmXDp28gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94UHJlY28iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hQcmVjb0ludGVybm8iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFQYXJ0aXIiPmEgcGFydGlyIGRlPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByZWNvRGUgbm9uZSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByZWNvUG9yIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBsaW5rPSJjYXJyZWlyYXNFc3BlY2lmaWNhcyI+RXNjb2xoYSBhIHN1YSDDoXJlYTwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSXRlbnMgbW9udGFkb3MgcG9yIG1vbnRhckxpc3Rhc0NvbXBhcmFjYW8oKSBlbSBhc3NldHMvanMvaW5kZXguanMgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Imxpc3RhSXRlbnNJbmNsdXNvcyI+PC91bD4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYm94SXRlbSBjb2wtc20tNCIgZGF0YS1wbGFubz0icGxhdGludW0iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEl0ZW1JbnRlcm5vIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBCb3ggQnJhbmNvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94QnJhbmNvIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWVsaG9yIE9mZXJ0YSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWxob3JPZmVydGEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBUw610dWxvIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXR1bG8iPlBsYXRpbnVtPC9zcGFuPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQcmXDp28gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94UHJlY28iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hQcmVjb0ludGVybm8iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFQYXJ0aXIiPmEgcGFydGlyIGRlPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByZWNvRGUgbm9uZSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByZWNvUG9yIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBsaW5rPSJzZXNzYW9QbGF0aW51bSI+RXNjb2xoYSB1bSBwbGFubzwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSXRlbnMgbW9udGFkb3MgcG9yIG1vbnRhckxpc3Rhc0NvbXBhcmFjYW8oKSBlbSBhc3NldHMvanMvaW5kZXguanMgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Imxpc3RhSXRlbnNJbmNsdXNvcyI+PC91bD4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCg0KDQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgIDwvZGl2Pg0KDQogICAgPCEtLSBDYXJyZWlyYXMgRXNwZWPDrWZpY2FzIC0tPg0KICAgIDxzZWN0aW9uIGNsYXNzPSJjYXJyZWlyYXNFc3BlY2lmaWNhcyIgaWQ9ImNhcnJlaXJhc0VzcGVjaWZpY2FzIj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgPGgyIGNsYXNzPSJ0aXR1bG9TZXNzYW8iPkVzY29saGEgYSBzdWEgPHN0cm9uZz5jYXJyZWlyYTwvc3Ryb25nPjwvaDI+DQogICAgICAgICAgICA8cCBjbGFzcz0ic3ViVGl0dWxvU2Vzc2FvIj5BbMOpbSBkYSA8c3Ryb25nPkFzc2luYXR1cmEgSnVyw61kaWNhPC9zdHJvbmc+LCB0ZW1vcyA8c3Ryb25nPkFzc2luYXR1cmFzIHBvciDDoXJlYXM8L3N0cm9uZz4gcGFyYSBxdWVtIGRlc2VqYSBzZSBwcmVwYXJhciBleGNsdXNpdmFtZW50ZSBwYXJhIHVtYSBjYXJyZWlyYS48L3A+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWdyb3VwIiBpZD0iYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMiPg0KICAgICAgICAgICAgPCEtLSBDYXJkcyBtb250YWRvcyBwb3IgbW9udGFyQ2FycmVpcmFzRXNwZWNpZmljYXMoKSBlbSBhc3NldHMvanMvaW5kZXguanMgLS0+DQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9zZWN0aW9uPg0KDQogICAgPCEtLSBQcmVwYXJhw6fDo28gUGVyc29uYWxpemFkYSAtLT4NCiAgICA8ZGl2IGNsYXNzPSJwcmVwYXJhY2FvUGVyc29uYWxpemFkYSIgaWQ9InNlc3Nhb1BsYXRpbnVtIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEJnIj4NCg0KICAgICAgICAgICAgICAgIDxoMj5RdWVyIHVtYSBwcmVwYXJhw6fDo28gYWluZGEgbWFpcyBwZXJzb25hbGl6YWRhPzwvaDI+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9InN1YnRpdHVsbyI+VG9ybmUtc2UgYWx1bm8gZGEgPHN0cm9uZz5Bc3NpbmF0dXJhIFBsYXRpbnVtPC9zdHJvbmc+IGUgdGVuaGEgYWNlc3NvIGFvIG1haXMgbm92bw0KICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlByb2dyYW1hIGRlIENvYWNoaW5nPC9zdHJvbmc+IHBhcmEgQ2FycmVpcmFzIEp1csOtZGljYXMsIGFsw6ltIGRlIDxzdHJvbmc+YWNvbXBhbmhhbWVudG8NCiAgICAgICAgICAgICAgICAgICAgICAgIHBlcnNvbmFsaXphZG8gcGFyYSBGYXNlIEVzY3JpdGE8L3N0cm9uZz4gZSBhbyA8c3Ryb25nPkN1cnNvIE9yYWwgY29tIGF0ZW5kaW1lbnRvDQogICAgICAgICAgICAgICAgICAgICAgICBpbmRpdmlkdWFsPC9zdHJvbmc+IG1haXMgY29tcGxldG8gZG8gbWVyY2Fkby48L3A+DQoNCiAgICAgICAgICAgICAgICA8IS0tIFBsYW5vcyBtb250YWRvcyBwb3IgbW9udGFyUGxhdGludW0oKSBlbSBhc3NldHMvanMvaW5kZXguanMgLS0+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94UGxhbm9zUGVyc29uYWxpemFkb3MiPjwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94QmFpeG8iPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL3ByZXBhcmFjYW8tcGVyc29uYWxpemFkYS5wbmciDQogICAgICAgICAgICAgICAgICAgICAgICBhbHQ9IlByZXBhcmHDp8OjbyBQZXJzb25hbGl6YWRhIj4NCiAgICAgICAgICAgICAgICAgICAgPHA+U2Ugdm9jw6ogPHN0cm9uZz5qw6Egw6kgbm9zc28gYWx1bm88L3N0cm9uZz4gZSBwb3NzdWkgb3V0cm8gdGlwbyBkZSBhc3NpbmF0dXJhLCBjb252ZXJzZSBjb20gb3MNCiAgICAgICAgICAgICAgICAgICAgICAgIG5vc3NvcyBjb25zdWx0b3JlcyBwYXJhIHZlciBvIGRlc2NvbnRvIGFkaWNpb25hbCBxdWUgdm9jw6ogcG9kZSB0ZXIgZGlyZWl0byBuYSBBc3NpbmF0dXJhDQogICAgICAgICAgICAgICAgICAgICAgICBQbGF0aW51bTwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cucmVkaXJlY3RtYWlzLmNvbS9ydW4vY29uc3VsdG9yLWNvYWNoaW5nIiB0YXJnZXQ9Il9ibGFuayI+RkFMRSBDT00gVU0NCiAgICAgICAgICAgICAgICAgICAgICAgIENPTlNVTFRPUjwvYT4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KDQogICAgPCEtLSBDaGFtYWRhIFBhY290ZXMgLS0+DQogICAgPGRpdiBjbGFzcz0iY2hhbWFkYXNQYWNvdGVzIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94QmciDQogICAgICAgICAgICAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2JnLWNoYW1hZGEtcGFjb3Rlcy5wbmcpICNGMDlDMDAgbm8tcmVwZWF0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGgyPlByb2N1cmFuZG8gdW0gbWF0ZXJpYWwgYXZ1bHNvPzwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPk9zIFBhY290ZXMgc8OjbyBjb21wb3N0b3MgZGUgY3Vyc29zIGNvbXBsZXRvcywgZW0gdsOtZGVvIGUgUERGLCBwYXJhIDxicj4gZGV0ZXJtaW5hZGEgw6FyZWEgb3UgY29uY3Vyc28gZXNwZWPDrWZpY28uPC9wPg0KICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pbWctbWF0ZXJpYWwtYXZ1bHNvLnN2ZyIgYWx0PSJNYXRlcmlhbCBBdnVsc28iPg0KICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzLyI+QXByb3ZlaXRlPC9hPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KDQogICAgPCEtLSBCaWcgTnVtYmVycyAtLT4NCiAgICA8ZGl2IGNsYXNzPSJiaWdOdW1iZXJzIiBpZD0iYmlnTnVtYmVycyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgIDxoMj5Fc3R1ZGUgZW0gdW1hIHBsYXRhZm9ybWEgZGUgY29udGXDumRvcyBjb21wbGV0YTwvaDI+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveE51bWVyb3MiPg0KDQogICAgICAgICAgICAgICAgPCEtLSBOw7ptZXJvIC0tPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im51bWVybyBjb2wtc20tMyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEludGVybm8iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWVyb0ludGVybm8iIGlkPSJudW1lcm9DdXJzb3MiPis8c3Ryb25nPjA8L3N0cm9uZz48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dG8iPm1pbCBjdXJzb3M8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPCEtLSBOw7ptZXJvIC0tPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im51bWVybyBjb2wtc20tMyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEludGVybm8iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im51bWVyb0ludGVybm8iIGlkPSJudW1lcm9WaWRlb0F1bGFzIj4rPHN0cm9uZz4wPC9zdHJvbmc+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHRvIj5taWwgdmlkZW9hdWxhczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8IS0tIE7Dum1lcm8gLS0+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibnVtZXJvIGNvbC1zbS0zIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibnVtZXJvSW50ZXJubyIgaWQ9Im51bWVyb1F1ZXN0b2VzIj4rPHN0cm9uZz4wPC9zdHJvbmc+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHRvIj5taWwgcXVlc3TDtWVzPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDwhLS0gTsO6bWVybyAtLT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJudW1lcm8gY29sLXNtLTMiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hJbnRlcm5vIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJudW1lcm9JbnRlcm5vIiBpZD0ibnVtZXJvQXVkaW9zIj4rPHN0cm9uZz4wPC9zdHJvbmc+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHRvIj5taWwgYXVkaW9saXZyb3M8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gRGVzdGFxdWVzIC0tPg0KICAgIDxkaXYgY2xhc3M9ImJveERlc3RhcXVlcyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMTIiPg0KDQogICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0aXR1bG8iPkFxdWkgdm9jw6ogZW5jb250cmEgZmVycmFtZW50YXMgcXVlIGZhcsOjbyBhIDxicj4gZGlmZXJlbsOnYSBuYSBzdWEgcHJlcGFyYcOnw6NvPC9oMj4NCg0KICAgICAgICAgICAgICAgIDx1bD4NCg0KICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPjxzdHJvbmc+TGl2cm8gRGlnaXRhbCBJbnRlcmF0aXZvPC9zdHJvbmc+PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5VbWEgZmVycmFtZW50YSA8c3Ryb25nPm11bHRpIHBlZGFnw7NnaWNhPC9zdHJvbmc+IHF1ZSBjb25ncmVnYSBtYXRlcmlhaXMgZXNjcml0b3MsIGVtDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHbDrWRlbywgcXVlc3TDtWVzLCBtYXBhcyBtZW50YWlzIGUgZmFpeGEgZGUgw6F1ZGlvIGVtIHVtIHPDsyBsdWdhci4gQWzDqW0gZGlzc28sIHBvc3NpYmlsaXRhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZSBzZWphIGdlcmFkbyB1bSA8c3Ryb25nPnJlc3VtbyBjb20gdG9kb3Mgb3MgZ3JpZm9zPC9zdHJvbmc+IGZlaXRvcyBubyBtYXRlcmlhbC48L3A+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPHBpY3R1cmUgY2xhc3M9ImNvbC1zbS04Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHZpZGVvPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9qaGNqZXk2b3pUWT9zaT1oRFlaa0RCTXFKX2hhYnRJIiBjbGFzcz0iY29tVmlkZW8iIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2Z1bmNpb25hbGlkYWRlcy9sZGkucG5nIiBhbHQ9IkZ1bmNpb25hbGlkYWRlIiBzdHlsZT0id2lkdGg6IGF1dG87Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcGljdHVyZT4NCiAgICAgICAgICAgICAgICAgICAgPC9saT4NCg0KICAgICAgICAgICAgICAgICAgICA8bGk+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxwaWN0dXJlIGNsYXNzPSJjb2wtc20tMTIgY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2Z1bmNpb25hbGlkYWRlcy9yYW5raW5nLXBvcy1wcm92YS5wbmciIGFsdD0iRnVuY2lvbmFsaWRhZGUiIHN0eWxlPSJ3aWR0aDogYXV0bzsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9waWN0dXJlPg0KICAgICAgICAgICAgICAgICAgICA8L2xpPg0KDQogICAgICAgICAgICAgICAgICAgIDxsaT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPHBpY3R1cmUgY2xhc3M9ImNvbC1zbS0xMiBjZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvZnVuY2lvbmFsaWRhZGVzL3RyaWxoYS1lc3RyYXRlZ2ljYS5wbmciIGFsdD0iRnVuY2lvbmFsaWRhZGUiIHN0eWxlPSJ3aWR0aDogYXV0bzsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9waWN0dXJlPg0KICAgICAgICAgICAgICAgICAgICA8L2xpPg0KDQogICAgICAgICAgICAgICAgICAgIDxsaT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPHBpY3R1cmUgY2xhc3M9ImNvbC1zbS0xMiBjZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvZnVuY2lvbmFsaWRhZGVzL3NpbnRlc2UtZXN0cmF0ZWdpY2EucG5nIiBhbHQ9IkZ1bmNpb25hbGlkYWRlIiBzdHlsZT0id2lkdGg6IGF1dG87Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcGljdHVyZT4NCiAgICAgICAgICAgICAgICAgICAgPC9saT4NCg0KICAgICAgICAgICAgICAgIDwvdWw+DQoNCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gUGFzc29zIHBhcmEgYSBBcHJvdmHDp8OjbyAtLT4NCiAgICA8ZGl2IGNsYXNzPSJwYXNzb3NBcHJvdmFjYW8iPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KDQogICAgICAgICAgICA8aDI+T3MgPHN0cm9uZz41IHBhc3Nvczwvc3Ryb25nPiBxdWUgbm9zIGxldmFyYW0gYSBhcHJvdmFyIDYwJSBkb3MgYWx1bm9zIG5vczxicj4gw7psdGltb3MgNCBhbm9zLjwvaDI+DQoNCiAgICAgICAgICAgIDxwaWN0dXJlPg0KICAgICAgICAgICAgICAgIDxzb3VyY2Ugc3Jjc2V0PSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvcGFzc29zLWFwcm92YWNhby1tb2JpbGUucG5nIiBtZWRpYT0iKG1heC13aWR0aDogNjAwcHgpIj4NCiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL3Bhc3Nvcy1hcHJvdmFjYW8ucG5nIiBhbHQ9IlBhc3NvcyI+DQogICAgICAgICAgICA8L3BpY3R1cmU+DQoNCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQoNCiAgICA8IS0tIDA3IGRpYXMgcGFyYSBUZXN0YXIgLS0+DQogICAgPGRpdiBjbGFzcz0iZGlhc0RlVGVzdGUiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KDQogICAgICAgICAgICA8IS0tIFNhdGlzZmHDp8OjbyBHYXJhbnRpZGEgLS0+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzYXRpc2ZhY2FvR2FyYW50aWRhIGJveEl0ZW0gY29sLXNtLTYiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEludGVybm8iPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hUZXh0byI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0dWxvIj5TYXRpc2Zhw6fDo28gZ2FyYW50aWRhIG91IHNldSA8YnI+IGRpbmhlaXJvIGRlIHZvbHRhPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHRvIj5Wb2PDqiB0ZW0gMDcgZGlhcyBwYXJhIHRlc3RhciBub3Nzb3MgY3Vyc29zLiBDYXNvIG7Do28gc2UgYWRhcHRlIMOgIG5vc3NhIG1ldG9kb2xvZ2lhLCBkZXZvbHZlbW9zIHNldSBkaW5oZWlybyouPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbmRpY2FvIj4qVmVyaWZpcXVlIGFzIGNvbmRpw6fDtWVzIGVtIG5vc3NvcyB0ZXJtb3MgZGUgdXNvLjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1zYXRpc2ZhY2FvLWdhcmFudGlkYS5zdmciIGFsdD0iU2F0aXNmYcOnw6NvIEdhcmFudGlkYSI+DQogICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDwhLS0gQXR1YWxpemHDp8OjbyBww7NzLWVkaXRhbCAtLT4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF0dWFsaXphY2FvUG9zRWRpdGFsIGJveEl0ZW0gY29sLXNtLTYiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEludGVybm8iPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hUZXh0byI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0dWxvIj5BdHVhbGl6YcOnw6NvIHDDs3MtZWRpdGFsPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHRvIj5Db20gYSBwdWJsaWNhw6fDo28gZG8gZWRpdGFsIGR1cmFudGUgYSB2aWfDqm5jaWEgZG8gc2V1IGNvbnRyYXRvLCBuw7NzIGdhcmFudGltb3MgYSBhdHVhbGl6YcOnw6NvIGRvIGNvbnRlw7pkbyByZXZpc2FkbyBjb25mb3JtZSBvIGVkaXRhbCwgbmEgc3VhIMOhcmVhIGRvIGFsdW5vLjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1hdHVhbGl6YWNhby5zdmciIGFsdD0iU2F0aXNmYcOnw6NvIEdhcmFudGlkYSI+DQogICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQoNCiAgICA8IS0tIENvbmN1cnNvIGRvcyBzZXVzIFNvbmhvcyAtLT4NCiAgICA8ZGl2IGNsYXNzPSJjb25jdXJzb0Rvc1NvbmhvcyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgIDxoMj5TZWphIGFwcm92YWRvIG5vIGNvbmN1cnNvIGRvcyBzZXVzIHNvbmhvcyE8L2gyPg0KDQogICAgICAgICAgICA8IS0tIEl0ZW5zIG1vbnRhZG9zIHBvciBtb250YXJDb25jdXJzb3MoKSBlbSBhc3NldHMvanMvaW5kZXguanMgLS0+DQogICAgICAgICAgICA8dWw+PC91bD4NCg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gUHJldmlzw6NvIC0tPg0KICAgIDxkaXYgY2xhc3M9InByZXZpc2FvRGVBdW1lbnRvIj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgPGgyPlPDo28gbWFpcyBkZSA8c3Ryb25nPjEuMDAwIHZhZ2FzPC9zdHJvbmc+IHByZXZpc3RhcyBwYXJhIDIwMjY8YnI+IGUgcGFyYSBvcyBwcsOzeGltb3MgYW5vcy48L2gyPg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8IS0tIE1lbnVzIC0tPg0KICAgICAgICA8ZGl2IGNsYXNzPSJsaXN0YU1lbnVzIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+DQogICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYWN0aXZlIiBjb250ZXVkbz0iY29udGV1ZG9QcmV2aXNhbzAiPk1hZ2lzdHJhdHVyYTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9IiIgY29udGV1ZG89ImNvbnRldWRvUHJldmlzYW8xIj5DYXJ0w7NyaW9zPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iIiBjb250ZXVkbz0iY29udGV1ZG9QcmV2aXNhbzIiPkRlbHRhPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iIiBjb250ZXVkbz0iY29udGV1ZG9QcmV2aXNhbzMiPkRlZmVuc29yaWE8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSIiIGNvbnRldWRvPSJjb250ZXVkb1ByZXZpc2FvNCI+TWluaXN0w6lyaW8gUMO6YmxpY288L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSIiIGNvbnRldWRvPSJjb250ZXVkb1ByZXZpc2FvNSI+UHJvY3VyYWRvcmlhIEdlcmFsIGRvIEVzdGFkbzwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9IiIgY29udGV1ZG89ImNvbnRldWRvUHJldmlzYW82Ij5Qcm9jdXJhZG9yaWEgR2VyYWwgZG8gTXVuaWPDrXBpbzwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9IiIgY29udGV1ZG89ImNvbnRldWRvUHJldmlzYW83Ij5BZHZvY2FjaWEgUMO6YmxpY2E8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSIiIGNvbnRldWRvPSJjb250ZXVkb1ByZXZpc2FvOCI+T3V0cm9zPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8IS0tIENvbnRlw7pkb3MgLS0+DQogICAgICAgIDxkaXYgY2xhc3M9Imxpc3RhQ29udGV1ZG9zIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEl0ZW1Db250ZXVkbyAiIGlkPSJjb250ZXVkb1ByZXZpc2FvMCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL21rdC5lc3RyYXRlZ2lhLmNvbS9jai93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMy8yMDI2LzA5L3ByZXZpc29lcy1tYWdpc3RyYXR1cmEtc2V0MjAyNi53ZWJwIiBhbHQ9Ik1hZ2lzdHJhdHVyYSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SXRlbUNvbnRldWRvIG5vbmUiIGlkPSJjb250ZXVkb1ByZXZpc2FvMSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL21rdC5lc3RyYXRlZ2lhLmNvbS9jai93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMy8yMDI2LzA5L3ByZXZpc29lcy1jYXJ0b3Jpb3Mtc2V0MjAyNi53ZWJwIiBhbHQ9IkNhcnTDs3Jpb3MiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEl0ZW1Db250ZXVkbyBub25lIiBpZD0iY29udGV1ZG9QcmV2aXNhbzIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9ta3QuZXN0cmF0ZWdpYS5jb20vY2ovd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzMvMjAyNi8wOS9wcmV2aXNvZXMtZGVsdGEtc2V0MjAyNi53ZWJwIiBhbHQ9IkRlbHRhIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hJdGVtQ29udGV1ZG8gbm9uZSIgaWQ9ImNvbnRldWRvUHJldmlzYW8zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vbWt0LmVzdHJhdGVnaWEuY29tL2NqL3dwLWNvbnRlbnQvdXBsb2Fkcy9zaXRlcy8zLzIwMjYvMDkvcHJldmlzb2VzLWRlZmVuc29yaWEtc2V0MjAyNi53ZWJwIiBhbHQ9IkRlZmVuc29yaWEiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEl0ZW1Db250ZXVkbyBub25lIiBpZD0iY29udGV1ZG9QcmV2aXNhbzQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9ta3QuZXN0cmF0ZWdpYS5jb20vY2ovd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzMvMjAyNi8wOS9wcmV2aXNvZXMtbWluaXN0ZXJpby1wdWJsaWNvLXNldDIwMjYud2VicCIgYWx0PSJNaW5pc3TDqXJpbyBQw7pibGljbyIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SXRlbUNvbnRldWRvIG5vbmUiIGlkPSJjb250ZXVkb1ByZXZpc2FvNSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL21rdC5lc3RyYXRlZ2lhLmNvbS9jai93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMy8yMDI2LzA5L3ByZXZpc29lcy1wcm9jdXJhZG9yaWEtZ2VyYWwtZG8tZXN0YWRvLXNldDIwMjYud2VicCIgYWx0PSJQcm9jdXJhZG9yaWEgR2VyYWwgZG8gRXN0YWRvIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hJdGVtQ29udGV1ZG8gbm9uZSIgaWQ9ImNvbnRldWRvUHJldmlzYW82Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vbWt0LmVzdHJhdGVnaWEuY29tL2NqL3dwLWNvbnRlbnQvdXBsb2Fkcy9zaXRlcy8zLzIwMjYvMDkvcHJldmlzb2VzLXByb2N1cmFkb3JpYS1nZXJhbC1kby1tdW5pY2lwaW8tc2V0MjAyNi53ZWJwIiBhbHQ9IlByb2N1cmFkb3JpYSBHZXJhbCBkbyBNdW5pY8OtcGlvIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hJdGVtQ29udGV1ZG8gbm9uZSIgaWQ9ImNvbnRldWRvUHJldmlzYW83Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vbWt0LmVzdHJhdGVnaWEuY29tL2NqL3dwLWNvbnRlbnQvdXBsb2Fkcy9zaXRlcy8zLzIwMjYvMDkvcHJldmlzb2VzLWFkdm9jYWNpYS1wdWJsaWNhLXNldDIwMjYud2VicCIgYWx0PSJBZHZvY2FjaWEgUMO6YmxpY2EiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEl0ZW1Db250ZXVkbyBub25lIiBpZD0iY29udGV1ZG9QcmV2aXNhbzgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9ta3QuZXN0cmF0ZWdpYS5jb20vY2ovd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzMvMjAyNi8wOS9wcmV2aXNvZXMtb3V0cm9zLXNldDIwMjYud2VicCIgYWx0PSJPdXRyb3MiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gQ29udGXDumRvcyAtLT4NCiAgICA8ZGl2IGNsYXNzPSJib3hDb250ZXVkb3MiIGlkPSJwYXNzb3NBcHJvdmFjYW8iPg0KDQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICA8aDI+Q29uaGXDp2Egb3MgY29udGXDumRvcyBlIGFzIGZ1bmNpb25hbGlkYWRlczwvaDI+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgY2xhc3M9Imxpc3RhUGFzc29zIj4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtZ3JvdXAiIGlkPSJhY2NvcmRpb25QYXNzb3MiPg0KICAgICAgICAgICAgICAgIDwhLS0gQ2FyZHMgbW9udGFkb3MgcG9yIG1vbnRhclBhc3NvcygpIGVtIGFzc2V0cy9qcy9pbmRleC5qcyAtLT4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQoNCiAgICAgICAgPC9kaXY+DQoNCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gUHJvZmVzc29yZXMgLS0+DQogICAgPGRpdiBjbGFzcz0icHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgPGgyPkVzdHVkZSBjb20gcHJvZmVzc29yZXMgZXNwZWNpYWxpc3RhcyBlbSB0b2RhcyBhcyDDoXJlYXMganVyw61kaWNhczwvaDI+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgY2xhc3M9Imxpc3RhUHJvZmVzc29yZXMiPg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ncm91cCIgaWQ9ImFjY29yZGlvblByb2Zlc3NvcmVzIj4NCiAgICAgICAgICAgICAgICA8IS0tIENhcmRzIG1vbnRhZG9zIHBvciBtb250YXJQcm9mZXNzb3JlcygpIGVtIGFzc2V0cy9qcy9pbmRleC5qcyAtLT4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoNCiAgICA8IS0tIFJlc3VsdGFkb3MgLS0+DQogICAgPGRpdiBjbGFzcz0icmVzdWx0YWRvc0NvbmN1cnNvcyI+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0iYm94VGl0dWxvR2VyYWwiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMTIiPg0KICAgICAgICAgICAgICAgICAgICA8aDI+Q29uZmlyYSBub3Nzb3MgcmVzdWx0YWRvczwvaDI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0ibGlzdGFSZXN1bHRhZG9zIj4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCg0KICAgICAgICAgICAgICAgIDwhLS0gSXRlbnMgbW9udGFkb3MgcG9yIG1vbnRhclJlc3VsdGFkb3MoKSBlbSBhc3NldHMvanMvaW5kZXguanMgLS0+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Qm90YW9DYXJyZWdhciBub25lIj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4+TW9zdHJhciBtYWlzIHJlc3VsdGFkb3M8L3NwYW4+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoNCiAgICA8IS0tIENvbmN1cnNvcyAtLT4NCiAgICA8ZGl2IGNsYXNzPSJjaGFtYWRhQ29uY3Vyc29zIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEJnIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNyI+DQogICAgICAgICAgICAgICAgICAgIDxoMj5Fc3R1ZGEgcGFyYSBjb25jdXJzb3MgY29tbyBJTlNTLCBSZWNlaXRhIEZlZGVyYWwsIDxicj4gUG9sw61jaWEgRmVkZXJhbCBlIG91dHJvcyBxdWUgPHN0cm9uZz5uw6NvDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc8OjbyBkYSDDoXJlYSBqdXLDrWRpY2E\/PC9zdHJvbmc+PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+QXByb3ZlaXRlIGFzIG9mZXJ0YXMgaW1wZXJkw612ZWlzIGRvIEVzdHJhdMOpZ2lhIENvbmN1cnNvcyE8L3A+DQogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmVzdHJhdGVnaWFjb25jdXJzb3MuY29tLmJyL2Fzc2luYXR1cmFzLyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Db25oZcOnYTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWNvbmhlY2Euc3ZnIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iQ29uaGXDp2EiIC8+DQogICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gRGVwb2ltZW50b3MgLS0+DQogICAgPGRpdiBjbGFzcz0iZGVwb2ltZW50b3NBcHJvdmFkb3MiPg0KDQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgIDxoMj5EZXBvaW1lbnRvcyBkb3Mgbm9zc29zIGFwcm92YWRvczwvaDI+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveExpc3RhRGVwb2ltZW50b3MiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RpbV9pbyBlbGVtLWJveCIgc3R5bGU9Im92ZXJmbG93OiB1bnNldDsgbWFyZ2luOiAwOyBwb3NpdGlvbjogcmVsYXRpdmU7Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpZnJhbWUgc3JjPSIiIGlkPSJ0ZXN0aW1vbmlhbHRvLXDDoWdpbmEtZGUtdmVuZGFzLWxpZ2h0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtc3JjPSJodHRwczovL2VtYmVkLnRlc3RpbW9uaWFsLnRvL3cvcMOhZ2luYS1kZS12ZW5kYXM\/dGhlbWU9bGlnaHQmY2FyZD1iYXNlIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9Im5vIiB3aWR0aD0iMTAwJSI+PC9pZnJhbWU+DQogICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJ2ZXJNYWlzRGVwb2ltZW50b3MiPg0KICAgICAgICAgICAgPHNwYW4+VmVyIG1haXMuLi48L3NwYW4+DQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoNCiAgICA8IS0tIFRpcmUgc3VhcyBkw7p2aWRhcyAtLT4NCiAgICA8ZGl2IGNsYXNzPSJ0aXJlRHV2aWRhcyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiI+DQoNCiAgICAgICAgICAgICAgICA8aDI+VGlyZSBzdWFzIGTDunZpZGFzPC9oMj4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxpc3RhQ29udGV1ZG9zIj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ncm91cCIgaWQ9ImFjY29yZGlvbiI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSXRlbSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgcGFuZWwgcGFuZWwtZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiIGlkPSJoZWFkaW5nRHV2aWRhczEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iI2NvbGxhcHNlRHV2aWRhczEiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPSJ0cnVlIiBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZUR1dmlkYXMxIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlF1YWwgYSBkaWZlcmVuw6dhIGVudHJlIGFzIEFzc2luYXR1cmFzPzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWFycm93LWRvd24uc3ZnIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iQWJyaXIgZMO6dmlkYSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iY29sbGFwc2VEdXZpZGFzMSIgY2xhc3M9ImNvbGxhcHNlIGJveENvbnRldWRvIGluIiBhcmlhLWxhYmVsbGVkYnk9ImhlYWRpbmdEdXZpZGFzMSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYXJlbnQ9IiNhY2NvcmRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5ObyBFc3RyYXTDqWdpYSBDYXJyZWlyYSBKdXLDrWRpY2EgbsOzcyB0ZW1vcyBkb2lzIHRpcG9zIHRyYWRpY2lvbmFpcyBkZSBBc3NpbmF0dXJhOiBhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkp1csOtZGljYTwvc3Ryb25nPiBlIGFzIDxzdHJvbmc+QXNzaW5hdHVyYXMgcG9yIMOBcmVhL0NhcnJlaXJhcy48L3N0cm9uZz48L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNhZGEgdW1hIGRlbGFzIHBvZGUgc2VyIGFkcXVpcmlkYSBhZ29yYSBuYSBtb2RhbGlkYWRlIDxzdHJvbmc+QsOhc2ljYTwvc3Ryb25nPiBvdQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5QcmVtaXVtPC9zdHJvbmc+LCBxdWUgY29udGFyw6NvIGNvbSBmZXJyYW1lbnRhcyBleGNsdXNpdmFzIGRlIHByZXBhcmHDp8OjbywgZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVsbyBwcmF6byBkZSA8c3Ryb25nPjEgb3UgMiBhbm9zPC9zdHJvbmc+LjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGVyZW1vcyBhaW5kYSBhIDxzdHJvbmc+QXNzaW5hdHVyYSBQbGF0aW51bTwvc3Ryb25nPiwgbyBub3NzbyBtb2RlbG8gbWFpcyBjb21wbGV0bywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZSBjb250YSBhY29tcGFuaGFtZW50byBpbmRpdmlkdWFsaXphZG8gZSBwb2RlIHNlciBhZHF1aXJpZG8gcGVsbyBwbGFubw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5NZW5zYWw8L3N0cm9uZz4gKGNvbSByZWNvcnLDqm5jaWEpIG91IDxzdHJvbmc+U2VtZXN0cmFsPC9zdHJvbmc+LjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+TmEgPHN0cm9uZz5Bc3NpbmF0dXJhIEp1csOtZGljYTwvc3Ryb25nPiwgdm9jw6ogdGVyw6EgYWNlc3NvIGEgdG9kb3Mgb3Mgbm9zc29zIG1hdGVyaWFpcw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZSBmZXJyYW1lbnRhcywgcGFyYSB0b2RhcyBhcyBjYXJyZWlyYXMgZSBjb25jdXJzb3MganVyw61kaWNvcyBleGlzdGVudGVzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+TmFzIDxzdHJvbmc+QXNzaW5hdHVyYXMgcG9yIMOBcmVhPC9zdHJvbmc+LCB2b2PDqiB0ZXLDoSBhY2Vzc28gYW9zIG5vc3NvcyBtYXRlcmlhaXMgZGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVtYSBjYXJyZWlyYSBlc3BlY8OtZmljYS4gQXR1YWxtZW50ZSwgdGVtb3MgYSA8c3Ryb25nPkFzc2luYXR1cmEgRGVsdGEsIE1hZ2lzdHJhdHVyYSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9jdXJhZG9yaWFzLCBNUHMsIERlZmVuc29yaWFzIGUgQ2FydMOzcmlvczwvc3Ryb25nPi48L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk5hcyBtb2RhbGlkYWRlcyBkZSA8c3Ryb25nPkFzc2luYXR1cmEgQsOhc2ljYXM8L3N0cm9uZz4sIG8gYWx1bm8gdGVyw6EgYWNlc3NvIGE6PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+UERGPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5WaWRlb2F1bGE8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlNpc3RlbWEgZGUgUXVlc3TDtWVzPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Fc3RyYXTDqWdpYSBDYXN0PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5SZXRhIEZpbmFsIC0gUMOzcy1FZGl0YWw8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlNpbXVsYWRvcyBJbsOpZGl0b3M8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkVzdHVkbyBFc3RyYXTDqWdpY288L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlJhbmtpbmcgUMOzcy1Qcm92YTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+UHJvdmEgQ29tZW50YWRhPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+SsOhIG5hIDxzdHJvbmc+QXNzaW5hdHVyYSBQcmVtaXVtPC9zdHJvbmc+LCBvIGFsdW5vIHRlcsOhIGFjZXNzbyBhIFRVRE8gZGEgQsOhc2ljYSBlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlzOjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlRyaWxoYSBFc3RyYXTDqWdpY2E8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkN1cnNvcyBwYXJhIEZhc2UgRXNjcml0YSBjLyBDb3JyZcOnw6NvIEluZGl2aWR1YWxpemFkYTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+U8OtbnRlc2UgRXN0cmF0w6lnaWNhPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5DbGlwcGluZzwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+RGlyZXRvIGFvIFBvbnRvPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5DYWRlcm5vcyBkZSBKdXJpc3BydWTDqm5jaWE8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlZhZGUtTcOpY3VtIEVzdHJhdMOpZ2ljbzwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q2FkZXJubyBkZSBMZWdpc2xhw6fDo28gRXNwZWPDrWZpY2E8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkN1cnNvcyBFeGNsdXNpdm9zIGUgZGUgRXh0ZW5zw6NvPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5NZW50b3JpYXMgQ29sZXRpdmFzIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlBvciBmaW0sIHRlbW9zIGEgQXNzaW5hdHVyYSBQbGF0aW51bSwgcXVlIHZlbSBjb20gVFVETyBkYSBQcmVtaXVtIGUgbWFpczo8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Db2FjaGluZzwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+RXN0dWRvIEFjb21wYW5oYWRvIHBhcmEgRmFzZSBFc2NyaXRhPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5DdXJzbyBwYXJhIEZhc2UgT3JhbCBjb20gQXRlbmRpbWVudG8gSW5kaXZpZHVhbGl6YWRvPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEl0ZW0gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHBhbmVsIHBhbmVsLWRlZmF1bHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIiBpZD0iaGVhZGluZ0R1dmlkYXMyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGFyZ2V0PSIjY29sbGFwc2VEdXZpZGFzMiIgYXJpYS1leHBhbmRlZD0iZmFsc2UiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZUR1dmlkYXMyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkNvbW8gZnVuY2lvbmEgbyBwZXLDrW9kbyBkZSBhY2Vzc28\/PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtYXJyb3ctZG93bi5zdmciDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJBYnJpciBkw7p2aWRhIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb2xsYXBzZUR1dmlkYXMyIiBjbGFzcz0iY29sbGFwc2UgYm94Q29udGV1ZG8iIGFyaWEtbGFiZWxsZWRieT0iaGVhZGluZ0R1dmlkYXMyIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhcmVudD0iI2FjY29yZGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkFzIEFzc2luYXR1cmFzIELDoXNpY2EgZSBQcmVtaXVtIHBvZGVtIHNlciBjb250cmF0YWRhIHBhcmEgMiBwZXLDrW9kb3MgZGUgdXNvOjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjEgYW5vPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4yIGFub3M8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Ob3RlIHF1ZSBvcyB2YWxvcmVzIGRvcyBwbGFub3MgZGUgPHN0cm9uZz4yIGFub3M8L3N0cm9uZz4gc8OjbywgcHJvcG9yY2lvbmFsbWVudGUgw6ANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1YW50aWRhZGUgZGUgbWVzZXMgZGUgdXNvLCA8c3Ryb25nPm1haXMgdmFudGFqb3Nvczwvc3Ryb25nPiBkbyBxdWUgb3MgcGxhbm9zIGRlIDENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuby4gTyBvYmpldGl2byDDqSBwcmVtaWFyIG8gYWx1bm8gcXVlIG9wdG91IHBvciBhZHF1aXJpciBvcyBwbGFub3MgZGUgMiBhbm9zIGNvbQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsb3JlcyBtYWlzIGF0cmF0aXZvcy48L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkrDoSBhIDxzdHJvbmc+QXNzaW5hdHVyYSBQbGF0aW51bTwvc3Ryb25nPiBwb2RlcsOhIHNlciBhZHF1aXJpZGEgbmEgZm9ybWEgZGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29ycsOqbmNpYSA8c3Ryb25nPm1lbnNhbDwvc3Ryb25nPiBvdSA8c3Ryb25nPnNlbWVzdHJhbDwvc3Ryb25nPi48L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBJdGVtIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBwYW5lbCBwYW5lbC1kZWZhdWx0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciIgaWQ9ImhlYWRpbmdEdXZpZGFzMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRhcmdldD0iI2NvbGxhcHNlRHV2aWRhczMiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz0iY29sbGFwc2VEdXZpZGFzMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5RdWFpcyBhcyBmb3JtYXMgZGUgcGFnYW1lbnRvPzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWFycm93LWRvd24uc3ZnIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iQWJyaXIgZMO6dmlkYSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iY29sbGFwc2VEdXZpZGFzMyIgY2xhc3M9ImNvbGxhcHNlIGJveENvbnRldWRvIiBhcmlhLWxhYmVsbGVkYnk9ImhlYWRpbmdEdXZpZGFzMyINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYXJlbnQ9IiNhY2NvcmRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5PIHBhZ2FtZW50byBkYXMgYXNzaW5hdHVyYXMgZGUgMSBvdSAyIGFub3MgcG9kZXLDoSBzZXIgZmVpdG8gbm8gPHN0cm9uZz5jYXJ0w6NvIGRlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3LDqWRpdDwvc3Ryb25nPm8sIGVtIGF0w6kgMTJYLCBubyA8c3Ryb25nPmJvbGV0byDDoCB2aXN0YTwvc3Ryb25nPiBvdSBubw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5QSVg8L3N0cm9uZz4uIE5lc3RlIMO6bHRpbW8gY2Fzbywgdm9jw6ogY29udGFyw6EgY29tIHVtIGRlc2NvbnRvIGFkaWNpb25hbCBkZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz4xMCU8L3N0cm9uZz4uPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5BaW5kYSBzZXLDoSBwb3Nzw612ZWwgdXRpbGl6YXIgMSBvdSBkb2lzIGNhcnTDtWVzIG5vIG1vbWVudG8gZGEgY29tcHJhLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Tm8gY2FzbyBkYSA8c3Ryb25nPkFzc2luYXR1cmEgUGxhdGludW0gTWVuc2FsPC9zdHJvbmc+LCBhIGNvYnJhbsOnYSBzZXLDoSBmZWl0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjbHVzaXZhbWVudGUgw6AgdmlzdGEgbm8gY2FydMOjbyBkZSBjcsOpZGl0bywgY29tIHJlY29ycsOqbmNpYSBtZW5zYWwuIE5vIHBsYW5vDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlNlbWVzdHJhbDwvc3Ryb25nPiBkYSBQbGF0aW51bSwgaGF2ZXLDoSBhIHBvc3NpYmlsaWRhZGUgZGUgcGFnYW1lbnRvIG5vDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXJ0w6NvIGRlIGNyw6lkaXRvICjDoCB2aXN0YSBvdSBwYXJjZWxhZG8gZW0gMTJ4KSBvdSBhdHJhdsOpcyBkbyBib2xldG8gYmFuY8OhcmlvLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEl0ZW0gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIHBhbmVsIHBhbmVsLWRlZmF1bHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIiBpZD0iaGVhZGluZ0R1dmlkYXM0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGFyZ2V0PSIjY29sbGFwc2VEdXZpZGFzNCIgYXJpYS1leHBhbmRlZD0iZmFsc2UiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZUR1dmlkYXM0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkUgc2UgcXVpc2VyIENBTkNFTEFSPzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWFycm93LWRvd24uc3ZnIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iQWJyaXIgZMO6dmlkYSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iY29sbGFwc2VEdXZpZGFzNCIgY2xhc3M9ImNvbGxhcHNlIGJveENvbnRldWRvIiBhcmlhLWxhYmVsbGVkYnk9ImhlYWRpbmdEdXZpZGFzNCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYXJlbnQ9IiNhY2NvcmRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Ow6NvIHRlbSBwcm9ibGVtYSBhbGd1bS4gRW0gcmVncmEsIHZvY8OqIGNvbnRhIGNvbSA3IGRpYXMgZGUgZ2FyYW50aWEgY29tIHJlZW1ib2xzbyBpbnRlZ3JhbC4gVmVyaWZpcXVlIGFzIGNvbmRpw6fDtWVzIHBvciBtZWlvIGRvIG5vc3NvIHRlcm1vcyBkZSB1c28uPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSXRlbSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgcGFuZWwgcGFuZWwtZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiIGlkPSJoZWFkaW5nRHV2aWRhczUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNvbGxhcHNlZCIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10YXJnZXQ9IiNjb2xsYXBzZUR1dmlkYXM1IiBhcmlhLWV4cGFuZGVkPSJmYWxzZSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9ImNvbGxhcHNlRHV2aWRhczUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+U2UgZXUgcXVpc2VyIGFkcXVpcmlyIHNvbWVudGUgMSBjdXJzbyBvdSBwYWNvdGUsIHNlbSBmYXplciBhIGFzc2luYXR1cmEsIGV1DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWluZGEgcG9zc28\/PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtYXJyb3ctZG93bi5zdmciDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJBYnJpciBkw7p2aWRhIiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb2xsYXBzZUR1dmlkYXM1IiBjbGFzcz0iY29sbGFwc2UgYm94Q29udGV1ZG8iIGFyaWEtbGFiZWxsZWRieT0iaGVhZGluZ0R1dmlkYXM1Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhcmVudD0iI2FjY29yZGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlNpbSwgY2FzbyB2b2PDqiBwcmVmaXJhIGNvbXByYXIgc29tZW50ZSB1bSBwYWNvdGUgb3UgY3Vyc28gaXNvbGFkYW1lbnRlLCBzZW0gYWRxdWlyaXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgYXNzaW5hdHVyYSwgaXNzbyBhaW5kYSDDqSBwZXJmZWl0YW1lbnRlIHBvc3PDrXZlbC48L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBJdGVtIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBwYW5lbCBwYW5lbC1kZWZhdWx0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciIgaWQ9ImhlYWRpbmdEdXZpZGFzNiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRhcmdldD0iI2NvbGxhcHNlRHV2aWRhczYiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz0iY29sbGFwc2VEdXZpZGFzNiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5RdWFpcyBDdXJzb3MgbsOjbyBlc3RhcsOjbyBuYSBBc3NpbmF0dXJhPzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWFycm93LWRvd24uc3ZnIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD0iQWJyaXIgZMO6dmlkYSIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iY29sbGFwc2VEdXZpZGFzNiIgY2xhc3M9ImNvbGxhcHNlIGJveENvbnRldWRvIiBhcmlhLWxhYmVsbGVkYnk9ImhlYWRpbmdEdXZpZGFzNiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1wYXJlbnQ9IiNhY2NvcmRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5TaW0uIEFsZ3VucyBjdXJzb3MsIHBlbGFzIHN1YXMgZXNwZWNpZmljaWRhZGVzLCBuw6NvIGVzdGFyw6NvIGluY2x1c29zIG5hcyBBc3NpbmF0dXJhcywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhaXMgY29tbzo8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5PQUIgZSBDRkMgKGUgb3V0cmFzIGNlcnRpZmljYcOnw7VlcyBjb250w6FiZWlzKTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+Rm9yw6dhcyBBcm1hZGFzPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5EaXBsb21hY2lhPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5DdXJzb3MgUHJlc2VuY2lhaXM8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlJlY3Vyc29zPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT7DgXJlYSBkZSBPZG9udG9sb2dpYTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q3Vyc29zIFBlcnNvbmFsaXphZG9zIChleGNsdXNpdm9zIGRhIFBsYXRpbnVtKTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q3Vyc28gUHJlc2VuY2lhbCBlIE9ubGluZSBDYXNjYXZlbDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+VmVzdGlidWxhcmVzIGUgRU5FTTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q3Vyc28gZGUgQ29uY3Vyc29zIHF1ZSBuw6NvIHNlamFtIGVzcGVjw61maWNvcyBkZSBDYXJyZWlyYXMgSnVyw61kaWNhcy48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQoNCiAgICA8IS0tIE1vZGFsIFbDrWRlbyAtLT4NCiAgICA8ZGl2IGlkPSJtb2RhbFZpZGVvIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYm94RmxleCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hWaWRlbyI+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlY2hhVmlkZW8iPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1jbG9zZS1tb2RhbC5zdmciIGFsdD0iRmVjaGFyIE1vZGFsIj4NCiAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgPGlmcmFtZSBmcmFtZWJvcmRlcj0iMCINCiAgICAgICAgICAgICAgICAgICAgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiDQogICAgICAgICAgICAgICAgICAgIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgIDwhLS0gTsO6bWVyb3MgQW5pbWFkb3MgLS0+DQogICAgDQogICAgDQoNCiAgICA8IS0tIEZvb3RlciAtLT4NCiAgICA8Zm9vdGVyIGNsYXNzPSJmb290ZXJQYWdlIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVySW50ZXJubyI+DQoNCiAgICAgICAgICAgIDwhLS0gQm94IENpbWEgLS0+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hDaW1hIj4NCg0KICAgICAgICAgICAgICAgIDwhLS0gRGFkb3MgZGEgRW1wcmVzYSAtLT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hGb290ZXIiPg0KDQogICAgICAgICAgICAgICAgICAgIDwhLS0gTG9nbyAtLT4NCiAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZSBjbGFzcz0ibG9nbyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2xvZ28tZG91cmFkYS5zdmciIGFsdD0iRXN0cmF0w6lnaWEgQ0oiPg0KICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4NCg0KICAgICAgICAgICAgICAgICAgICA8IS0tIFRleHRvIC0tPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hUZXh0byI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cD5Fc3R1ZGUgY29tIHF1ZW0gbWFpcyBhcHJvdmEgcGFyYSBjYXJnb3MgY29tbyBqdWl6LCBkZWxlZ2FkbywgcHJvbW90b3IsIGRlZmVuc29yIHDDumJsaWNvIGUgcHJvY3VyYWRvci4gUHJlcGFyZS1zZSBvbmRlLCBxdWFuZG8gZSBzZW1wcmUgcXVlIHF1aXNlciBjb20gY3Vyc29zLCBxdWVzdMO1ZXMgZSBjb250ZcO6ZG9zIGNvbXBsZXRvcyBwYXJhIGNhcnJlaXJhcyBqdXLDrWRpY2FzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgPCEtLSBSZWRlcyBTb2NpYWlzIC0tPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWRlc1NvY2lhaXMiPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEluc3RhZ3JhbSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vZXN0cmF0ZWdpYWNvbmN1cnNvcy8\/aGw9cHQtYnIiIHRhcmdldD0iX2JsYW5rIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1pbnN0YWdyYW0ucG5nIiBhbHQ9Ikluc3RhZ3JhbSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gWW91dHViZSAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3VzZXIvRXN0cmF0ZWdpYUN1cnNvcyIgdGFyZ2V0PSJfYmxhbmsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLXlvdXR1YmUucG5nIiBhbHQ9IllvdXR1YmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEZhY2Vib29rIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL0VzdHJhdGVnaWFDb25jdXJzb3MiIHRhcmdldD0iX2JsYW5rIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1mYWNlYm9vay5wbmciIGFsdD0iRmFjZWJvb2siPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFggLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL0VzdHJhdENvbmN1cnNvcyIgdGFyZ2V0PSJfYmxhbmsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLXgucG5nIiBhbHQ9IlgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KDQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8IS0tIE1lbnUgSW5zdGl0dWNpb25hbCAtLT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hGb290ZXIiPg0KDQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXR1bG9Sb2RhcGUiPkluc3RpdHVjaW9uYWw8L3NwYW4+DQoNCiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJtZW51Um9kYXBlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2VzdHJhdGVnaWEuY29tLyI+UXVlbSBzb21vczwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9wdWJsaWMtbWlzY2VsbGFuZW91cy5zMy1zYS1lYXN0LTEuYW1hem9uYXdzLmNvbS90ZXJtb3MvUG9saSVDQyU4MXRpY2ErZGUrUHJpdmFjaWRhZGUrLStFc3RyYXRlJUNDJTgxZ2lhK0VkdWNhY2lvbmFsLnBkZiIgdGFyZ2V0PSJfYmxhbmsiPlBvbMOtdGljYSBkZSBwcml2YWNpZGFkZTwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9wdWJsaWMtbWlzY2VsbGFuZW91cy5zMy5zYS1lYXN0LTEuYW1hem9uYXdzLmNvbS90ZXJtb3MvVGVybW9zK2RlK1VzbytDb25jdXJzb3MrLStDYXJyZWlyYStKdXJpZGljYStWaXRhbCVDMyVBRGNpYS5wZGYiIHRhcmdldD0iX2JsYW5rIj5UZXJtb3MgZGUgdXNvPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPCEtLSBNZW51IFN1cG9ydGUgLS0+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Rm9vdGVyIj4NCg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0dWxvUm9kYXBlIj5TdXBvcnRlPC9zcGFuPg0KDQogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibWVudVJvZGFwZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9lc3RyYXRlZ2lhY2FycmVpcmFqdXJpZGljYS56ZW5kZXNrLmNvbS9oYy9wdC1iciIgdGFyZ2V0PSJfYmxhbmsiPkZhbGUgY29ub3NjbzwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZXN0cmF0ZWdpYWNvbmN1cnNvcy5jb20uYnIvYXNzaW5hdHVyYXMtZWNqLyIgdGFyZ2V0PSJfYmxhbmsiPkFzc2luYXR1cmFzPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy8iPlBhY290ZXMgZSBjdXJzb3M8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vcG9ydGFsLyI+QmxvZzwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS8jYXBwcyI+QmFpeGUgbyBhcHA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zL2Zhc2UtZXNjcml0YS8iPkZhc2UgRXNjcml0YTwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvZmFzZS1vcmFsLyI+RmFzZSBPcmFsPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2F0ZW5kaW1lbnRvY2FycmVpcmFqdXJpZGljYS5lc3RyYXRlZ2lhLmNvbS9oYy9wdC1iciI+QWp1ZGE8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8IS0tIE1lbnUgQ29uY3Vyc29zIC0tPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEZvb3RlciI+DQoNCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdHVsb1JvZGFwZSI+Q29uY3Vyc29zPC9zcGFuPg0KDQogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibWVudVJvZGFwZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvIyIgdGFyZ2V0PSJfYmxhbmsiPuKtkCBBc3NpbmF0dXJhczwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvIyIgdGFyZ2V0PSJfYmxhbmsiPkN1cnNvcyBlbSBEZXN0YXF1ZTwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvY3Vyc29zLXBhcmEtZGVsZWdhZG8iIHRhcmdldD0iX2JsYW5rIj5DdXJzb3MgcGFyYSBEZWxlZ2FkbzwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvY3Vyc29zLXBhcmEtcHJvY3VyYWRvcmFkdm9nYWRvIiB0YXJnZXQ9Il9ibGFuayI+Q3Vyc29zIHBhcmEgUHJvY3VyYWRvci9BZHZvZ2FkbzwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvY3Vyc29zLXBhcmEtbWFnaXN0cmF0dXJhIiB0YXJnZXQ9Il9ibGFuayI+Q3Vyc29zIHBhcmEgTWFnaXN0cmF0dXJhPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy9jdXJzb3MtcGFyYS1jYXJ0cmlvcyIgdGFyZ2V0PSJfYmxhbmsiPkN1cnNvcyBwYXJhIENhcnTDs3Jpb3M8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zL2N1cnNvcy1wYXJhLWRlZmVuc29yaWEtcGJsaWNhIiB0YXJnZXQ9Il9ibGFuayI+Q3Vyc29zIHBhcmEgRGVmZW5zb3JpYSBQw7pibGljYTwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvY3Vyc29zLXBhcmEtcHJvbW90b3IiIHRhcmdldD0iX2JsYW5rIj5DdXJzb3MgcGFyYSBQcm9tb3RvcjwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvYWR2b2NhY2lhLXBibGljYS1mZWRlcmFsIiB0YXJnZXQ9Il9ibGFuayI+QWR2b2NhY2lhIFDDumJsaWNhIEZlZGVyYWw8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zL2N1cnNvcy1yZWd1bGFyZXMiIHRhcmdldD0iX2JsYW5rIj5DdXJzb3MgUmVndWxhcmVzPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy8jIiB0YXJnZXQ9Il9ibGFuayI+VmFkZS1Nw6ljdW0gcGFyYSBDYXJyZWlyYXMgSnVyw61kaWNhPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy8jIiB0YXJnZXQ9Il9ibGFuayI+UXVlc3TDtWVzPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy8jIiB0YXJnZXQ9Il9ibGFuayI+Q2FzdDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvIyIgdGFyZ2V0PSJfYmxhbmsiPkN1cnNvcyBBdnVsc29zPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy8jIiB0YXJnZXQ9Il9ibGFuayI+TVAtU1AgZSBNUC1NRzwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDwhLS0gRm9ybWFzIGRlIFBhZ2FtZW50byBlIFNlbG9zIC0tPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94QmFpeG8iPg0KDQogICAgICAgICAgICAgICAgPCEtLSBGb3JtYXMgZGUgUGFnYW1lbnRvIC0tPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm1hc0RlUGFnYW1lbnRvIj4NCg0KICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Gb3JtYXMgZGUgcGFnYW1lbnRvOjwvc3Bhbj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaXN0YUZvcm1hcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1ib2xldG8ucG5nIiBhbHQ9IkJvbGV0byI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1tYXN0ZXJjYXJkLnBuZyIgYWx0PSJNYXN0ZXJjYXJkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLXZpc2EucG5nIiBhbHQ9IlZpc2EiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtYW1lcmljYW4ucG5nIiBhbHQ9IkFtZXJpY2FuIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWRpbm5lcnMucG5nIiBhbHQ9IkRpbmVycyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1lbG8ucG5nIiBhbHQ9IkVsbyI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8IS0tIFNlbG9zIC0tPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFNlbG9zIj4NCiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtYWJlZC5wbmciIGFsdD0iQWJlZCI+DQogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWViaXQucG5nIiBhbHQ9IkViaXQiPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Zvb3Rlcj4NCg0KICAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCg0K<\/script><script id=\"lp-js\" type=\"text\/plain\">DQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsNCg0KICAgIC8vIFBlZ2EgdmFsb3IgZGEgQVBJDQoNCiAgICBmdW5jdGlvbiBjYXJyZWdhclByZWNvcyAodXJsLCB2ZXJ0aWNhbCkgew0KDQogICAgICAgIHJldHVybiBmZXRjaCgnaHR0cHM6Ly9hcGkuZXN0cmF0ZWdpYS5jb20vYmZmL3B1YmxpYy9lY29tbWVyY2UvY2F0YWxvZy8nICsgdXJsLCB7IA0KICAgICAgICAgICAgbWV0aG9kOiAnR0VUJywNCiAgICAgICAgICAgIG1vZGU6ICdjb3JzJywNCiAgICAgICAgICAgIGhlYWRlcnM6IHsNCiAgICAgICAgICAgICAgICAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL2pzb24nLA0KICAgICAgICAgICAgICAgICd4LXZlcnRpY2FsJzogdmVydGljYWwsDQogICAgICAgICAgICB9DQogICAgICAgIH0pDQogICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7IHJldHVybiByZXNwb25zZS5qc29uKCk7IH0pDQogICAgICAgIC50aGVuKGZ1bmN0aW9uKGpzb24pIHsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYgKGpzb24gJiYganNvbi5kYXRhKSB7DQoNCiAgICAgICAgICAgICAgICBpZiAoanNvbi5kYXRhLmxvdCkgew0KICAgIA0KICAgICAgICAgICAgICAgICAgICB2YXIgYW1vdW50cyA9IGpzb24uZGF0YS5sb3QuYW1vdW50czsNCg0KICAgICAgICAgICAgICAgICAgICB2YXIgdmFsb3JOb3JtYWwgPSBqc29uLmRhdGEuYW1vdW50cy5jcmVkaXRfY2FyZF9pbnN0YWxsbWVudHMudG9GaXhlZCgyKSAvIDEwMDsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHZhbG9yUHJvbW9jYW8gPSBhbW91bnRzLmNyZWRpdF9jYXJkX2luc3RhbGxtZW50cy50b0ZpeGVkKDIpIC8gMTAwOw0KDQogICAgICAgICAgICAgICAgICAgIC8vIENhcnTDo28gRGUNCiAgICAgICAgICAgICAgICAgICAgdmFyIGNhcnRhb0RlID0gMDsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGFtb3VudHMuY3JlZGl0X2NhcmRfaW5zdGFsbG1lbnRzID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgY2FydGFvRGUgPSBqc29uLmRhdGEuYW1vdW50cy5jcmVkaXRfY2FyZF9pbnN0YWxsbWVudHMudG9GaXhlZCgyKSAvIDEwMDsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNhcnRhb0RlID0ganNvbi5kYXRhLmFtb3VudHMuY3JlZGl0X2NhcmQudG9GaXhlZCgyKSAvIDEwMDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIC8vIENhcnTDo28gUG9yDQogICAgICAgICAgICAgICAgICAgIHZhciBjYXJ0YW8gPSAwOw0KICAgICAgICAgICAgICAgICAgICBpZiAoYW1vdW50cy5jcmVkaXRfY2FyZF9pbnN0YWxsbWVudHMgPiAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBjYXJ0YW8gPSBhbW91bnRzLmNyZWRpdF9jYXJkX2luc3RhbGxtZW50cy50b0ZpeGVkKDIpIC8gMTAwOw0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgY2FydGFvID0gYW1vdW50cy5jcmVkaXRfY2FyZC50b0ZpeGVkKDIpIC8gMTAwOw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgdmFyIHZhbG9yZXMgPSB7DQogICAgICAgICAgICAgICAgICAgICAgICAiYm9sZXRvIjogYW1vdW50cy5ib2xldG8udG9GaXhlZCgyKSAvIDEwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICJib2xldG9EZSI6IGpzb24uZGF0YS5hbW91bnRzLmJvbGV0by50b0ZpeGVkKDIpIC8gMTAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgImNhcnRhbyI6IGNhcnRhbyAvIDEyLA0KICAgICAgICAgICAgICAgICAgICAgICAgImNhcnRhb0RlIjogY2FydGFvRGUgLyAxMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW9Ub3RhbERlIjoganNvbi5kYXRhLmFtb3VudHMuY3JlZGl0X2NhcmQudG9GaXhlZCgyKSAvIDEwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW9Ub3RhbCI6IGFtb3VudHMuY3JlZGl0X2NhcmQudG9GaXhlZCgyKSAvIDEwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3JjZW50YWdlbSI6IGpzb24uZGF0YS5kaXNjb3VudF9wZXJjZW50YWdlID8\/IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAiZWNvbm9taXplIjogdmFsb3JOb3JtYWwgLSB2YWxvclByb21vY2FvDQogICAgICAgICAgICAgICAgICAgIH07DQogICAgDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICANCiAgICAgICAgICAgICAgICAgICAgdmFyIGFtb3VudHMgPSBqc29uLmRhdGEuYW1vdW50czsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGNhcnRhbyA9IDA7DQoNCiAgICAgICAgICAgICAgICAgICAgaWYgKGFtb3VudHMuY3JlZGl0X2NhcmRfaW5zdGFsbG1lbnRzID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgY2FydGFvID0gYW1vdW50cy5jcmVkaXRfY2FyZF9pbnN0YWxsbWVudHMudG9GaXhlZCgyKSAvIDEwMDsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNhcnRhbyA9IGFtb3VudHMuY3JlZGl0X2NhcmQudG9GaXhlZCgyKSAvIDEwMDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgIHZhciB2YWxvcmVzID0gew0KICAgICAgICAgICAgICAgICAgICAgICAgImJvbGV0byI6IGFtb3VudHMuYm9sZXRvLnRvRml4ZWQoMikgLyAxMDAsDQogICAgICAgICAgICAgICAgICAgICAgICAiYm9sZXRvRGUiOiAnJywNCiAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW8iOiBjYXJ0YW8gLyAxMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW9Ub3RhbERlIjogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW9Ub3RhbCI6IGFtb3VudHMuY3JlZGl0X2NhcmQudG9GaXhlZCgyKSAvIDEwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW9EZSI6ICAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgInBvcmNlbnRhZ2VtIjogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICJlY29ub21pemUiOiAwDQogICAgICAgICAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsb3JlczsNCg0KICAgICAgICAgICAgfSBlbHNlIHsNCg0KICAgICAgICAgICAgICAgIHJldHVybiBwcmVjb3NWYXppb3MoKTsNCg0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaChmdW5jdGlvbihlcnJvKSB7DQogICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvIGFvIGNhcnJlZ2FyIHByZcOnb3MgZGUgIicgKyB1cmwgKyAnIjonLCBlcnJvKTsNCiAgICAgICAgICAgIHJldHVybiBwcmVjb3NWYXppb3MoKTsNCiAgICAgICAgfSk7DQoNCiAgICB9DQoNCiAgICAvLyBQcmXDp29zIHplcmFkb3M6IGV2aXRhIHF1ZWJyYXIgYSBtb250YWdlbSBkYSBww6FnaW5hIHF1YW5kbyB1bWEgY2hhbWFkYSBmYWxoYQ0KDQogICAgZnVuY3Rpb24gcHJlY29zVmF6aW9zICgpIHsNCiAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICJib2xldG8iOiAwLA0KICAgICAgICAgICAgImJvbGV0b0RlIjogJycsDQogICAgICAgICAgICAiY2FydGFvIjogMCwNCiAgICAgICAgICAgICJjYXJ0YW9EZSI6IDAsDQogICAgICAgICAgICAiY2FydGFvVG90YWxEZSI6IDAsDQogICAgICAgICAgICAiY2FydGFvVG90YWwiOiAwLA0KICAgICAgICAgICAgInBvcmNlbnRhZ2VtIjogMCwNCiAgICAgICAgICAgICJlY29ub21pemUiOiAwDQogICAgICAgIH07DQogICAgfQ0KDQogICAgLy8gTW9udGEgQXJyYXkgY29tIFByb2R1dG9zDQoNCiAgICB2YXIgVkVSVElDQUwgPSAnY2FycmVpcmFzLWp1cmlkaWNhcyc7DQoNCiAgICB2YXIgcHJvZHV0b3MgPSB7DQoNCiAgICAgICAgLy8gSnVyw61kaWNhDQogICAgICAgIGp1cmlkaWNhQmFzaWNhMUFubzogICAgICAgICAnYXNzaW5hdHVyYS1qdXJpZGljYS1iYXNpY2EtMS1hbm8nLA0KICAgICAgICBqdXJpZGljYUJhc2ljYTJBbm9zOiAgICAgICAgJ2Fzc2luYXR1cmEtanVyaWRpY2EtYmFzaWNhLTItYW5vcycsDQogICAgICAgIGp1cmlkaWNhUHJlbWl1bTFBbm86ICAgICAgICAnYXNzaW5hdHVyYS1qdXJpZGljYS0xLWFubycsDQogICAgICAgIGp1cmlkaWNhUHJlbWl1bTJBbm9zOiAgICAgICAnYXNzaW5hdHVyYS1qdXJpZGljYS0yLWFub3MnLA0KDQogICAgICAgIC8vIFByb2N1cmFkb3JpYXMNCiAgICAgICAgcHJvY3VyYWRvcmlhc0Jhc2ljYTFBbm86ICAgICdhc3NpbmF0dXJhLXByb2N1cmFkb3JpYXMtYmFzaWNhLTEtYW5vJywNCiAgICAgICAgcHJvY3VyYWRvcmlhc0Jhc2ljYTJBbm9zOiAgICdhc3NpbmF0dXJhLXByb2N1cmFkb3JpYXMtYmFzaWNhLTItYW5vcycsDQogICAgICAgIHByb2N1cmFkb3JpYXNQcmVtaXVtMUFubzogICAnYXNzaW5hdHVyYXByb2N1cmFkb3JpYXMtMS1hbm8nLCAvLyBzZW0gaMOtZmVuIG1lc21vOiDDqSBvIHNsdWcgZG8gUHJlbWl1bSBuYSBBUEkNCiAgICAgICAgcHJvY3VyYWRvcmlhc1ByZW1pdW0yQW5vczogICdhc3NpbmF0dXJhLXByb2N1cmFkb3JpYXMtMi1hbm9zJywNCg0KICAgICAgICAvLyBNYWdpc3RyYXR1cmENCiAgICAgICAgbWFnaXN0cmF0dXJhQmFzaWNhMUFubzogICAgICdhc3NpbmF0dXJhLW1hZ2lzdHJhdHVyYS1iYXNpY2EtMS1hbm8nLA0KICAgICAgICBtYWdpc3RyYXR1cmFCYXNpY2EyQW5vczogICAgJ2Fzc2luYXR1cmEtbWFnaXN0cmF0dXJhLWJhc2ljYS0yLWFub3MnLA0KICAgICAgICBtYWdpc3RyYXR1cmFQcmVtaXVtMUFubzogICAgJ2Fzc2luYXR1cmEtbWFnaXN0cmF0dXJhLWFudWFsJywNCiAgICAgICAgbWFnaXN0cmF0dXJhUHJlbWl1bTJBbm9zOiAgICdhc3NpbmF0dXJhLW1hZ2lzdHJhdHVyYS0yLWFub3MnLA0KDQogICAgICAgIC8vIERlbHRhDQogICAgICAgIGRlbHRhQmFzaWNhMUFubzogICAgICAgICAgICAnYXNzaW5hdHVyYS1kZWx0YS1iYXNpY2EtMS1hbm8nLA0KICAgICAgICBkZWx0YUJhc2ljYTJBbm9zOiAgICAgICAgICAgJ2Fzc2luYXR1cmEtZGVsdGEtYmFzaWNhLTItYW5vcycsDQogICAgICAgIGRlbHRhUHJlbWl1bTFBbm86ICAgICAgICAgICAnYXNzaW5hdHVyYS1kZWx0YS0xLWFubycsDQogICAgICAgIGRlbHRhUHJlbWl1bTJBbm9zOiAgICAgICAgICAnYXNzaW5hdHVyYS1kZWx0YS0yLWFub3MnLA0KDQogICAgICAgIC8vIENhcnTDs3Jpb3MNCiAgICAgICAgY2FydG9yaW9zQmFzaWNhMUFubzogICAgICAgICdhc3NpbmF0dXJhLWNhcnRvcmlvcy1iYXNpY2EtMS1hbm8nLA0KICAgICAgICBjYXJ0b3Jpb3NCYXNpY2EyQW5vczogICAgICAgJ2Fzc2luYXR1cmEtY2FydG9yaW9zLWJhc2ljYS0yLWFub3MnLA0KICAgICAgICBjYXJ0b3Jpb3NQcmVtaXVtMUFubzogICAgICAgJ2Fzc2luYXR1cmEtY2FydG9yaW9zLTEtYW5vJywNCiAgICAgICAgY2FydG9yaW9zUHJlbWl1bTJBbm9zOiAgICAgICdhc3NpbmF0dXJhLWNhcnRvcmlvcy0yLWFub3MnLA0KDQogICAgICAgIC8vIERlZmVuc29yaWENCiAgICAgICAgZGVmZW5zb3JpYXNCYXNpY2ExQW5vOiAgICAgICdhc3NpbmF0dXJhLWRlZmVuc29yaWFzLWJhc2ljYS0xLWFubycsDQogICAgICAgIGRlZmVuc29yaWFzQmFzaWNhMkFub3M6ICAgICAnYXNzaW5hdHVyYS1kZWZlbnNvcmlhcy1iYXNpY2EtMi1hbm9zJywNCiAgICAgICAgZGVmZW5zb3JpYXNQcmVtaXVtMUFubzogICAgICdhc3NpbmF0dXJhLWRlZmVuc29yaWEtMS1hbm8nLA0KICAgICAgICBkZWZlbnNvcmlhc1ByZW1pdW0yQW5vczogICAgJ2Fzc2luYXR1cmEtZGVmZW5zb3JpYS0yLWFub3MnLA0KDQogICAgICAgIC8vIFByb21vdG9yaWENCiAgICAgICAgcHJvbW90b3JpYXNCYXNpY2ExQW5vOiAgICAgICdhc3NpbmF0dXJhLXByb21vdG9yaWFzLWJhc2ljYS0xLWFubycsDQogICAgICAgIHByb21vdG9yaWFzQmFzaWNhMkFub3M6ICAgICAnYXNzaW5hdHVyYS1wcm9tb3Rvcmlhcy1iYXNpY2EtMi1hbm9zJywNCiAgICAgICAgcHJvbW90b3JpYXNQcmVtaXVtMUFubzogICAgICdhc3NpbmF0dXJhLXByb21vdG9yaWEtMS1hbm8nLA0KICAgICAgICBwcm9tb3Rvcmlhc1ByZW1pdW0yQW5vczogICAgJ2Fzc2luYXR1cmEtcHJvbW90b3JpYS0yLWFub3MnLA0KDQogICAgICAgIC8vIFBsYXRpbnVtIChvIGNhcmQgZGUgY29tcGFyYcOnw6NvIHVzYSBvIHNlbWVzdHJhbCwgcXVlIMOpIHBhcmNlbGFkbyBlbSAxMngpDQogICAgICAgIHBsYXRpbnVtTWVuc2FsOiAgICAgICAgICAgICAnY29hY2hpbmctcGFyYS1jYXJyZWlyYXMtanVyaWRpY2FzJywNCiAgICAgICAgcGxhdGludW1TZW1lc3RyYWw6ICAgICAgICAgICdjb2FjaGluZy1wYXJhLWNhcnJlaXJhcy1qdXJpZGljYXMtc2VtZXN0cmFsJw0KDQogICAgfTsNCg0KICAgIC8vIENhZGEgY2FyZCBkbyAjYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIG1vc3RyYSAiYSBwYXJ0aXIgZGUiOg0KICAgIC8vIG8gbWVub3IgcHJlw6dvIGVudHJlIGFzIGNhcnJlaXJhcyBkYXF1ZWxlIG7DrXZlbC4NCg0KICAgIHZhciBjb21wYXJhY2FvID0gew0KICAgICAgICAnYmFzaWNhMWFubyc6ICAgWydqdXJpZGljYUJhc2ljYTFBbm8nLCAncHJvY3VyYWRvcmlhc0Jhc2ljYTFBbm8nLCAnbWFnaXN0cmF0dXJhQmFzaWNhMUFubycsICdkZWx0YUJhc2ljYTFBbm8nLCAnY2FydG9yaW9zQmFzaWNhMUFubycsICdkZWZlbnNvcmlhc0Jhc2ljYTFBbm8nLCAncHJvbW90b3JpYXNCYXNpY2ExQW5vJ10sDQogICAgICAgICdwcmVtaXVtMWFubyc6ICBbJ2p1cmlkaWNhUHJlbWl1bTFBbm8nLCAncHJvY3VyYWRvcmlhc1ByZW1pdW0xQW5vJywgJ21hZ2lzdHJhdHVyYVByZW1pdW0xQW5vJywgJ2RlbHRhUHJlbWl1bTFBbm8nLCAnY2FydG9yaW9zUHJlbWl1bTFBbm8nLCAnZGVmZW5zb3JpYXNQcmVtaXVtMUFubycsICdwcm9tb3Rvcmlhc1ByZW1pdW0xQW5vJ10sDQogICAgICAgICdiYXNpY2EyYW5vcyc6ICBbJ2p1cmlkaWNhQmFzaWNhMkFub3MnLCAncHJvY3VyYWRvcmlhc0Jhc2ljYTJBbm9zJywgJ21hZ2lzdHJhdHVyYUJhc2ljYTJBbm9zJywgJ2RlbHRhQmFzaWNhMkFub3MnLCAnY2FydG9yaW9zQmFzaWNhMkFub3MnLCAnZGVmZW5zb3JpYXNCYXNpY2EyQW5vcycsICdwcm9tb3Rvcmlhc0Jhc2ljYTJBbm9zJ10sDQogICAgICAgICdwcmVtaXVtMmFub3MnOiBbJ2p1cmlkaWNhUHJlbWl1bTJBbm9zJywgJ3Byb2N1cmFkb3JpYXNQcmVtaXVtMkFub3MnLCAnbWFnaXN0cmF0dXJhUHJlbWl1bTJBbm9zJywgJ2RlbHRhUHJlbWl1bTJBbm9zJywgJ2NhcnRvcmlvc1ByZW1pdW0yQW5vcycsICdkZWZlbnNvcmlhc1ByZW1pdW0yQW5vcycsICdwcm9tb3Rvcmlhc1ByZW1pdW0yQW5vcyddLA0KICAgICAgICAncGxhdGludW0nOiAgICAgWydwbGF0aW51bVNlbWVzdHJhbCddDQogICAgfTsNCg0KICAgIC8vIEl0ZW5zIGV4aWJpZG9zIG5hIGxpc3RhIGRlIGNhZGEgY2FyZCBkYSBjb21wYXJhw6fDo28uDQogICAgLy8gIm5pdmVsIiDDqSBjdW11bGF0aXZvOiBiw6FzaWNhIDwgcHJlbWl1bSA8IHBsYXRpbnVtLiBVbSBpdGVtIGRlIG7DrXZlbCAicHJlbWl1bSINCiAgICAvLyBhcGFyZWNlIGNvbW8gaW5jbHVzbyBuYSBQcmVtaXVtIGUgbmEgUGxhdGludW0sIGUgY29tbyBuw6NvIGluY2x1c28gbmEgQsOhc2ljYS4NCg0KICAgIHZhciBuaXZlaXMgPSBbJ2Jhc2ljYScsICdwcmVtaXVtJywgJ3BsYXRpbnVtJ107DQoNCiAgICAvLyBDYWRhIGNhcmQgZG8gSFRNTCBkZWNsYXJhIG8gbsOtdmVsIGEgcXVlIHBlcnRlbmNlDQogICAgdmFyIG5pdmVsRG9QbGFubyA9IHsNCiAgICAgICAgJ2Jhc2ljYTFhbm8nOiAgICdiYXNpY2EnLA0KICAgICAgICAnYmFzaWNhMmFub3MnOiAgJ2Jhc2ljYScsDQogICAgICAgICdwcmVtaXVtMWFubyc6ICAncHJlbWl1bScsDQogICAgICAgICdwcmVtaXVtMmFub3MnOiAncHJlbWl1bScsDQogICAgICAgICdwbGF0aW51bSc6ICAgICAncGxhdGludW0nDQogICAgfTsNCg0KICAgIHZhciBpdGVuc0NvbXBhcmFjYW8gPSBbDQogICAgICAgIHsgbml2ZWw6ICJiYXNpY2EiLCAgIG5vbWU6ICJWaWRlb2F1bGFzIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiQ29udGXDumRvIGVtIHbDrWRlbyBncmF2YWRvIHBvciBwcm9mZXNzb3JlcyBlc3BlY2lhbGlzdGFzIGVtIGNvbmN1cnNvcyBqdXLDrWRpY29zLCBwYXJhIGFzc2lzdGlyIHF1YW5kbywgb25kZSBlIHF1YW50YXMgdmV6ZXMgcXVpc2VyLiIgfSwNCiAgICAgICAgeyBuaXZlbDogImJhc2ljYSIsICAgbm9tZTogIkxpdnJvIERpZ2l0YWwgSW50ZXJhdGl2byIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJVbSBwb2Rlcm9zbyByZWN1cnNvIGRpZMOhdGljbyBxdWUgYWdyZWdhIGVtIHVtYSDDum5pY2EgaW50ZXJmYWNlIG1hdGVyaWFpcyBjb21wbGV0b3MgZW0gdsOtZGVvLCBlc2NyaXRvcywgZW0gw6F1ZGlvLCBxdWVzdMO1ZXMsIG1hcGFzIG1lbnRhaXMgZSByZXN1bW9zLiBBbMOpbSBkaXNzbyBwZXJtaXRlIHF1ZSB2b2PDqiBleHRyYWlhIHVtIHJlc3VtbyBkb3MgZ3JpZm9zIGUgYW5vdGHDp8O1ZXMgZmVpdG9zIG5vIFBERiwgYWzDqW0gZGUgcGVybWl0aXIgYSBuYXZlZ2HDp8OjbyBwb3IgdW0gc3Vtw6FyaW8gaW50ZWxpZ2VudGUuIiB9LA0KICAgICAgICB7IG5pdmVsOiAiYmFzaWNhIiwgICBub21lOiAiU2lzdGVtYSBkZSBRdWVzdMO1ZXMiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJPIG1haW9yIFNpc3RlbWEgZGUgUXVlc3TDtWVzIGdlbnVpbmFtZW50ZSBqdXLDrWRpY28gZG8gbWVyY2Fkby4gU8OjbyBtYWlzIGRlIDEwMCBtaWwgcXVlc3TDtWVzIGRlIGNvbmN1cnNvcyBkZSBjYXJyZWlyYXMganVyw61kaWNhcyBwYXJhIHZvY8OqIHByYXRpY2FyLiIgfSwNCiAgICAgICAgeyBuaXZlbDogImJhc2ljYSIsICAgbm9tZTogIkVzdHJhdMOpZ2lhIENhc3QiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiQXBsaWNhdGl2byBjb20gYXVsYXMgZW0gw6F1ZGlvIHBhcmEgdm9jw6ogb3V2aXIgcXVhbmRvIGUgb25kZSBxdWlzZXIuIiB9LA0KICAgICAgICB7IG5pdmVsOiAiYmFzaWNhIiwgICBub21lOiAiUmV0YSBGaW5hbCAtIFDDs3MtRWRpdGFsIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJDdXJzb3MgZW0gdsOtZGVvIG1vbnRhZG9zIGV4Y2x1c2l2YW1lbnRlIHBhcmEgbyBww7NzLWVkaXRhbCBlIHF1ZSBmb2NhbSBlbSBjb250ZcO6ZG9zIGVzcGVjw61maWNvcywgbWFzIHJlbGV2YW50ZXMgcGFyYSBmaW5zIGRlIHByb3ZhLiIgfSwNCiAgICAgICAgeyBuaXZlbDogImJhc2ljYSIsICAgbm9tZTogIlNpbXVsYWRvcyBJbsOpZGl0b3MiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiU2ltdWxhZG9zIGZlaXRvcyBwZWxvcyBub3Nzb3MgcHJvZmVzc29yZXMsIG5vIGVzdGlsbyBkZSBjb2JyYW7Dp2EgZGFzIHByaW5jaXBhaXMgQmFuY2FzIE9yZ2FuaXphZG9yYXMgZSBjb20gbsOtdmVsIGRlIGRpZmljdWxkYWRlIGNvbXBhdMOtdmVsIGNvbSBjb25jdXJzb3MgZGUgQ2FycmVpcmFzIEp1csOtZGljYXMuIiB9LA0KICAgICAgICB7IG5pdmVsOiAiYmFzaWNhIiwgICBub21lOiAiRXN0dWRvIEVzdHJhdMOpZ2ljbyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJDZW50cmFsIGRlIGluZm9ybWHDp8O1ZXMgZSBjb250ZcO6ZG9zIGRlIG9yaWVudGHDp8OjbyBwYXJhIHByZXBhcmHDp8OjbywgaW5jbHVpbmRvOiBhbsOhbGlzZSBlc3RhdMOtc3RpY2EgZSBxdWFsaXRhdGl2YSBkYSBjb2JyYW7Dp2EgZW0gcHJvdmEgZGEgZGlzY2lwbGluYSwgdGVuZG8gZW0gdmlzdGEgbyBoaXN0w7NyaWNvIGRlIGNvYnJhbsOnYSBlIG8gcGVyZmlsIGRvIGNvbmN1cnNvOyBwbGFubyBkZSBlc3R1ZG9zLiIgfSwNCiAgICAgICAgeyBuaXZlbDogImJhc2ljYSIsICAgbm9tZTogIlJhbmtpbmcgUMOzcy1Qcm92YSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiQWNhYm91IGRlIGZhemVyIHVtYSBwcm92YSBlIHF1ZXIgdGVyIHVtYSBpZGVpYSBzb2JyZSBhIHBvc3PDrXZlbCBub3RhIGRlIGNvcnRlPyBPIFJhbmtpbmcgZG8gRXN0cmF0w6lnaWEgw6kgYSBzb2x1w6fDo28hIEZlaXRvIGNvbSBiYXNlIG5vcyBkYWRvcyBkb3Mgbm9zc29zIGFsdW5vcyBlIHRlbmRvIGNvbW8gcmVmZXLDqm5jaWEgbyBHYWJhcml0byBFeHRyYW9maWNpYWwgZG9zIG5vc3NvcyBwcm9mZXNzb3JlcyAoYXTDqSBvIG9maWNpYWwgc2VyIGRpdnVsZ2FkbyksIHZvY8OqIHNhYmVyw6EgZW0gcHJpbWVpcmEgbcOjbyBzZSBhIHZhZ2EgZXN0w6EgcGVydG8gb3UgbsOjby4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJiYXNpY2EiLCAgIG5vbWU6ICJQcm92YSBDb21lbnRhZGEiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiQWNlc3NlIG9zIGNvbWVudMOhcmlvcyBkZSAxMDAlIGRhcyBxdWVzdMO1ZXMgZGEgc3VhIHByb3ZhIGRlIGNvbmN1cnNvLCBubyBkaWEgc2VndWludGUgw6Agc3VhIHJlYWxpemHDp8Ojby4gVG9kb3Mgb3MgY29tZW50w6FyaW9zIHPDo28gZmVpdG9zIHBlbG9zIG5vc3NvcyBwcm9mZXNzb3JlcyBlc3BlY2lhbGlzdGFzIGUgZGlzcG9uaWJpbGl6YWRvcyBlbSB1bSDDum5pY28gUERGLiIgfSwNCiAgICAgICAgeyBuaXZlbDogInByZW1pdW0iLCAgbm9tZTogIlRyaWxoYSBFc3RyYXTDqWdpY2EiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiR3VpYSBkZSBlc3R1ZG9zIGVzdHJ1dHVyYWRvIGNvbmZvcm1lIG8gY29uY3Vyc28gcGFyYSBlc3R1ZG8gcmVndWxhciBlIHDDs3MtZWRpdGFsLCBjb20gZGlzdHJpYnVpw6fDo28gc2VtYW5hbCBkZSB0YXJlZmFzIHBhcmEgcXVlIHZvY8OqIGTDqiBhdGVuw6fDo28gYW9zIHByaW5jaXBhaXMgY29udGXDumRvcyBjb2JyYWRvcy4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwcmVtaXVtIiwgIG5vbWU6ICJDdXJzb3MgcGFyYSBGYXNlIEVzY3JpdGEgY29tIENvcnJlw6fDo28iLCAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJDdXJzb3MgZGlzY3Vyc2l2b3MgKHJlZ3VsYXJlcyBlIHBvciBlZGl0YWwpIGNvbSBjb3JyZcOnw6NvIGluZGl2aWR1YWxpemFkYSBwYXJhIGFzIGZhc2VzIGVzY3JpdGFzIGRvcyBwcmluY2lwYWlzIGNvbmN1cnNvcyBqdXLDrWRpY29zLiIgfSwNCiAgICAgICAgeyBuaXZlbDogInByZW1pdW0iLCAgbm9tZTogIlPDrW50ZXNlIEVzdHJhdMOpZ2ljYSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaWNhbzogIk8gcmVzdW1vIGRlIHbDqXNwZXJhIGRlIHByb3ZhIHF1ZSBmYWx0YXZhIG5hIHN1YSBwcmVwYXJhw6fDo28hIEFjZXNzZSBvcyBwcmluY2lwYWlzIGFzc3VudG9zIGRlIGNhZGEgZGlzY2lwbGluYSBlbSB1bSBQREYgY3VydG8gY29tIG9zIHRlbWFzIHF1ZW50ZXMgZXNxdWVtYXRpemFkb3MuIiB9LA0KICAgICAgICB7IG5pdmVsOiAicHJlbWl1bSIsICBub21lOiAiQ2xpcHBpbmciLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaWNhbzogIkNsaXBwaW5nIGRlIG5vdMOtY2lhcyBlIGF0dWFsaXphw6fDtWVzIHF1aW56ZW5haXMgZG8gbXVuZG8ganVyw61kaWNvIHBhcmEgdm9jw6ogZmljYXIgc2FiZW5kbyBkYXMgcHJpbmNpcGFpcyBhdHVhbGl6YcOnw7VlcyBlbSBwcmltZWlyYSBtw6NvLiIgfSwNCiAgICAgICAgeyBuaXZlbDogInByZW1pdW0iLCAgbm9tZTogIkRpcmV0byBhbyBQb250byIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJVbSBtYXRlcmlhbCA3MCUgbWVub3IgZG8gcXVlIG9zIG5vc3NvcyBjdXJzb3MgcmVndWxhcmVzLCBtb250YWRvIGF0cmF2w6lzIGRlIGVuZ2VuaGFyaWEgcmV2ZXJzYSwgZSBmb2NhZG8gbm8gcXVlIG1haXMgw6kgY29icmFkbyBlbSBwcm92YXMuIiB9LA0KICAgICAgICB7IG5pdmVsOiAicHJlbWl1bSIsICBub21lOiAiQ2VudHJhbCBkZSBKdXJpc3BydWTDqm5jaWEiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJUb2RhIGEganVyaXNwcnVkw6puY2lhIG1haXMgcmVsZXZhbnRlIHBhcmEgY29uY3Vyc29zIGp1csOtZGljb3MgY29tIG9zIGNvbWVudMOhcmlvcyBkb3Mgbm9zc29zIHByb2Zlc3NvcmVzLiBFc3R1ZGUgZGUgZm9ybWEgb3JnYW5pemFkYSBlIHNpc3RlbWF0aXphZGEgYXMgZGVjaXPDtWVzIG1haXMgcmVjZW50ZXMgZG8gU1RGLCBTVEosIFRTVCBlIFRTRSwgSnVyaXNwcnVkw6puY2lhIEludGVybmFjaW9uYWwsIGFsw6ltIGRlIFByZWNlZGVudGVzIFF1YWxpZmljYWRvcy4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwcmVtaXVtIiwgIG5vbWU6ICJDZW50cmFsIGRlIExlZ2lzbGHDp8OjbyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJUb2RhIGEgbGVnaXNsYcOnw6NvIG1haXMgcmVsZXZhbnRlIHBhcmEgY29uY3Vyc29zIGp1csOtZGljb3MsIGVtIExESSBlIGNvbSBpbmRpY2HDp8OjbyBkZSBtZXRhcyBkZSBsZWl0dXJhIGRpw6FyaWEgZGEgbGVpLCBjb20gZGlyZWNpb25hbWVudG8gcG9yIGFydGlnby4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwcmVtaXVtIiwgIG5vbWU6ICJDYWRlcm5vIGRlIExlZ2lzbGHDp8OjbyBFc3BlY8OtZmljYSIsICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiVW0gY29tcGlsYWRvIGRlIGxlaXMgZSBub3JtYXMgZXNwZWPDrWZpY2FzIHF1ZSBjb25zdGFtIGRvIHNldSBlZGl0YWwuIiB9LA0KICAgICAgICB7IG5pdmVsOiAicHJlbWl1bSIsICBub21lOiAiQ3Vyc29zIEV4Y2x1c2l2b3MgZSBkZSBFeHRlbnPDo28iLCAgICAgICAgICAgICAgICAgICAgICBkZXNjcmljYW86ICJDdXJzb3MgZW0gdsOtZGVvIGRlIGFwcm9mdW5kYW1lbnRvIG5hcyBwcmluY2lwYWlzIGRpc2NpcGxpbmFzIGp1csOtZGljYXMgZSBkZSBhYm9yZGFnZW0gZGUgdGVtYXMgZXNwZWPDrWZpY29zIG91IGFwcm9mdW5kYWRvcyBjb25mb3JtZSBhIGNhcnJlaXJhIGUgbyBjb25jdXJzby4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwcmVtaXVtIiwgIG5vbWU6ICJNZW50b3JpYXMgQ29sZXRpdmFzIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiTWVudG9yaWFzIGZlaXRhcyBjb20gbm9zc29zIHByb2Zlc3NvcmVzIHF1ZSBhdHVhbSBub3MgbWFpcyBkaXZlcnNvcyBjYXJnb3MganVyw61kaWNvcyBwYXJhIHRpcmFyIGTDunZpZGFzIHNvYnJlIGEgY2FycmVpcmEgZSBwcmVwYXJhw6fDo28iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwbGF0aW51bSIsIG5vbWU6ICJDb2FjaGluZyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpY2FvOiAiQWNvbXBhbmhhbWVudG8gcGVyc29uYWxpemFkbywgY29uZHV6aWRvIHBvciBxdWVtIGrDoSBmb2kgYXByb3ZhZG8sIHF1ZSBmb2NhIG5hcyBuZWNlc3NpZGFkZXMgZXNwZWPDrWZpY2FzIGRvIGFsdW5vIGFvIGVudHJlZ2FyIHVtYSBvcmllbnRhw6fDo28gZGUgZXN0dWRvcyBjb21wYXTDrXZlbCBjb20gbyBwZXJmaWwgZG8gYWx1bm8uIiB9LA0KICAgICAgICB7IG5pdmVsOiAicGxhdGludW0iLCBub21lOiAiRXN0dWRvIEFjb21wYW5oYWRvIHBhcmEgRmFzZSBFc2NyaXRhIiwgICAgICAgICAgICAgICAgIGRlc2NyaWNhbzogIkFjb21wYW5oYW1lbnRvIHBlcnNvbmFsaXphZG8gY29tIHVtIHByb2Zlc3NvciBkYSDDoXJlYSwgcXVlIGVudHJlZ2EgdW1hIHByZXBhcmHDp8OjbyBlc3BlY8OtZmljYSBwYXJhIGEgRmFzZSBFc2NyaXRhLiIgfSwNCiAgICAgICAgeyBuaXZlbDogInBsYXRpbnVtIiwgbm9tZTogIkN1cnNvIHBhcmEgRmFzZSBPcmFsIGNvbSBBdGVuZGltZW50byBJbmRpdmlkdWFsaXphZG8iLCBkZXNjcmljYW86ICJBdGVuZGltZW50b3MgaW5kaXZpZHVhbGl6YWRvcyBjb20gcHJvZmVzc29yIGRhIGNhcnJlaXJhIHBhcmEgYXJndWnDp8O1ZXMsIGFsw6ltIGRlIGF0ZW5kaW1lbnRvIGNvbSBwc2ljw7Nsb2dhIGUgZm9ub2F1ZGnDs2xvZ2EsIGNhc28sIG5vIGNvbmN1cnNvLCBoYWphIGZhc2Ugb3JhbC4iIH0NCiAgICBdOw0KDQogICAgLy8gRXNjYXBhIHRhbWLDqW0gYXMgYXNwYXMsIHBhcmEgcG9kZXIgdXNhciBvIHJlc3VsdGFkbyBkZW50cm8gZGUgYXRyaWJ1dG9zDQogICAgZnVuY3Rpb24gZXNjYXBhckh0bWwgKHRleHRvKSB7DQogICAgICAgIHJldHVybiAkKCc8ZGl2PicpLnRleHQodGV4dG8pLmh0bWwoKS5yZXBsYWNlKC8iL2csICcmcXVvdDsnKTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb250YXJJdGVtIChpdGVtLCBpbmNsdXNvKSB7DQoNCiAgICAgICAgdmFyIGljb25lID0gaW5jbHVzbyA\/ICdpYy1pbmNsdXNvLnN2ZycgOiAnaWMtbmFvLWluY2x1c28uc3ZnJzsNCg0KICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgJzxsaSBjbGFzcz0iJyArIChpbmNsdXNvID8gJ2luY2x1c28nIDogJ25hb0luY2x1c28nKSArICciPicgKw0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hUaXR1bG8iPicgKw0KICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvJyArIGljb25lICsgJyIgYWx0PSLDjWNvbmUiPicgKw0KICAgICAgICAgICAgICAgICAgICAnPHNwYW4+JyArIGVzY2FwYXJIdG1sKGl0ZW0ubm9tZSkgKyAnPC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94SW5mbyI+JyArDQogICAgICAgICAgICAgICAgICAgICc8aW1nIGNsYXNzPSJpbWdJbmZvIiBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtaW5mby5zdmciIGFsdD0iRGVzY3Jpw6fDo28iPicgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ibW9kYWxJbmZvIG5vbmUiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJmZWNoYVBvcHVwIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtY2xvc2UtbW9kYWwuc3ZnIiBhbHQ9IkZlY2hhciBNb2RhbCI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxwPicgKyBlc2NhcGFySHRtbChpdGVtLmRlc2NyaWNhbykgKyAnPC9wPicgKw0KICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgJzwvbGk+JzsNCg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIG1vbnRhckxpc3Rhc0NvbXBhcmFjYW8gKCkgew0KDQogICAgICAgICQoJyNib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgW2RhdGEtcGxhbm9dJykuZWFjaChmdW5jdGlvbiAoKSB7DQoNCiAgICAgICAgICAgIHZhciBwbGFubyA9ICQodGhpcykuZGF0YSgncGxhbm8nKTsNCiAgICAgICAgICAgIHZhciBuaXZlbCA9IG5pdmVsRG9QbGFub1twbGFub107DQoNCiAgICAgICAgICAgIGlmICghbml2ZWwpIHsNCiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0NhcmQgc2VtIG7DrXZlbCBkZWZpbmlkbzogZGF0YS1wbGFubz0iJyArIHBsYW5vICsgJyIuJyk7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgaHRtbCA9IGl0ZW5zQ29tcGFyYWNhby5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsNCiAgICAgICAgICAgICAgICAvLyBJbmNsdXNvIHF1YW5kbyBvIG7DrXZlbCBkbyBpdGVtIMOpIGlndWFsIG91IGluZmVyaW9yIGFvIGRvIHBsYW5vDQogICAgICAgICAgICAgICAgcmV0dXJuIG1vbnRhckl0ZW0oaXRlbSwgbml2ZWlzLmluZGV4T2YoaXRlbS5uaXZlbCkgPD0gbml2ZWlzLmluZGV4T2Yobml2ZWwpKTsNCiAgICAgICAgICAgIH0pLmpvaW4oJycpOw0KDQogICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ3VsLmxpc3RhSXRlbnNJbmNsdXNvcycpLmh0bWwoaHRtbCk7DQoNCiAgICAgICAgfSk7DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb2VkYSAodmFsb3IpIHsNCiAgICAgICAgcmV0dXJuIHZhbG9yLnRvTG9jYWxlU3RyaW5nKCdwdC1icicsIHsgc3R5bGU6ICdjdXJyZW5jeScsIGN1cnJlbmN5OiAnQlJMJyB9KTsNCiAgICB9DQoNCiAgICAvLyBDYXJyZWlyYXMgRXNwZWPDrWZpY2FzOiBvIGFjY29yZGlvbiBpbnRlaXJvIMOpIG1vbnRhZG8gYSBwYXJ0aXIgZGVzdGUgYXJyYXkuDQogICAgLy8gImNoYXZlIiBsaWdhIGEgYXNzaW5hdHVyYSBhbyBwcm9kdXRvIGRlY2xhcmFkbyBlbSBgcHJvZHV0b3NgLCBkZSBvbmRlIHbDqm0gb3MgcHJlw6dvcy4NCg0KICAgIHZhciBjYXJyZWlyYXMgPSBbDQogICAgICAgIHsNCiAgICAgICAgICAgIGlkOiAiYm94QXNzaW5hdHVyYUp1cmlkaWNhIiwNCiAgICAgICAgICAgIHRpdHVsbzogIkFzc2luYXR1cmEgSnVyw61kaWNhIiwNCiAgICAgICAgICAgIG1haXNDb21wbGV0YTogdHJ1ZSwNCiAgICAgICAgICAgIHN1YnRpdHVsbzogIkFicmFuZ2UgY3Vyc29zIHBhcmEgdG9kYXMgYXMgY2FycmVpcmFzLCBpbmNsdXNpdmUgQW5hbGlzdGFzIGRlIFRyaWJ1bmFpcyBjb20gZXhpZ8OqbmNpYSBkZSBmb3JtYcOnw6NvIGVtIERpcmVpdG8uIiwNCiAgICAgICAgICAgIGFzc2luYXR1cmFzOiBbDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogImp1cmlkaWNhQmFzaWNhMUFubyIsICAgbm9tZTogIkp1csOtZGljYSBCw6FzaWNhPGJyPiAxIGFubyIsICAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzby9hc3NpbmF0dXJhLWp1cmlkaWNhLWJhc2ljYS0xLWFubyIgfSwNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAianVyaWRpY2FCYXNpY2EyQW5vcyIsICBub21lOiAiSnVyw61kaWNhIELDoXNpY2E8YnI+IDIgYW5vcyIsICB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvL2Fzc2luYXR1cmEtanVyaWRpY2EtYmFzaWNhLTItYW5vcyIgfSwNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAianVyaWRpY2FQcmVtaXVtMUFubyIsICBub21lOiAiSnVyw61kaWNhIFByZW1pdW08YnI+IDEgYW5vIiwgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc28vYXNzaW5hdHVyYS1qdXJpZGljYS0xLWFubyIsIGRlc3RhcXVlOiB0cnVlIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogImp1cmlkaWNhUHJlbWl1bTJBbm9zIiwgbm9tZTogIkp1csOtZGljYSBQcmVtaXVtPGJyPiAyIGFub3MiLCB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvL2Fzc2luYXR1cmEtanVyaWRpY2EtMi1hbm9zIiwgZGVzdGFxdWU6IHRydWUgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICBpZDogImJveEFzc2luYXR1cmFQcm9jdXJhZG9yaWFzIiwNCiAgICAgICAgICAgIHRpdHVsbzogIkFzc2luYXR1cmEgUHJvY3VyYWRvcmlhcyIsDQogICAgICAgICAgICBzdWJ0aXR1bG86ICJBYnJhbmdlIGFzIDI3IFBHRXMsIFBHTXMsIFByb2N1cmFkb3JpYXMgTGVnaXNsYXRpdmFzLCBBZHZvY2FjaWEgUMO6YmxpY2EgRmVkZXJhbCBlIGFkdm9jYWNpYSBww7pibGljYSBlbSBlbnRpZGFkZXMgZGEgQWRtaW5pc3RyYcOnw6NvIFDDumJsaWNhIEluZGlyZXRhIiwNCiAgICAgICAgICAgIGFzc2luYXR1cmFzOiBbDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogInByb2N1cmFkb3JpYXNCYXNpY2ExQW5vIiwgICBub21lOiAiUHJvY3VyYWRvcmlhcyBCw6FzaWNhPGJyPiAxIGFubyIsICAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzby9hc3NpbmF0dXJhLXByb2N1cmFkb3JpYXMtYmFzaWNhLTEtYW5vIiB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJwcm9jdXJhZG9yaWFzQmFzaWNhMkFub3MiLCAgbm9tZTogIlByb2N1cmFkb3JpYXMgQsOhc2ljYTxicj4gMiBhbm9zIiwgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc28vYXNzaW5hdHVyYS1wcm9jdXJhZG9yaWFzLWJhc2ljYS0yLWFub3MiIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogInByb2N1cmFkb3JpYXNQcmVtaXVtMUFubyIsICBub21lOiAiUHJvY3VyYWRvcmlhcyBQcmVtaXVtPGJyPiAxIGFubyIsICB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvL2Fzc2luYXR1cmFwcm9jdXJhZG9yaWFzLTEtYW5vIiwgZGVzdGFxdWU6IHRydWUgfSwNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAicHJvY3VyYWRvcmlhc1ByZW1pdW0yQW5vcyIsIG5vbWU6ICJQcm9jdXJhZG9yaWFzIFByZW1pdW08YnI+IDIgYW5vcyIsIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc28vYXNzaW5hdHVyYS1wcm9jdXJhZG9yaWFzLTItYW5vcyIsIGRlc3RhcXVlOiB0cnVlIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgaWQ6ICJib3hBc3NpbmF0dXJhTWFnaXN0cmF0dXJhIiwNCiAgICAgICAgICAgIHRpdHVsbzogIkFzc2luYXR1cmEgTWFnaXN0cmF0dXJhIiwNCiAgICAgICAgICAgIHN1YnRpdHVsbzogIkFicmFuZ2UgdG9kYXMgYXMgcHJvdmFzIGRvIEVOQU0sIG9zIDI2IFRyaWJ1bmFpcyBkZSBKdXN0acOnYSwgVFJGcyBlIE1hZ2lzdHJhdHVyYSBkbyBUcmFiYWxoby4iLA0KICAgICAgICAgICAgYXNzaW5hdHVyYXM6IFsNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAibWFnaXN0cmF0dXJhQmFzaWNhMUFubyIsICAgbm9tZTogIk1hZ2lzdHJhdHVyYSBCw6FzaWNhPGJyPiAxIGFubyIsICAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzby9hc3NpbmF0dXJhLW1hZ2lzdHJhdHVyYS1iYXNpY2EtMS1hbm8vIiB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJtYWdpc3RyYXR1cmFCYXNpY2EyQW5vcyIsICBub21lOiAiTWFnaXN0cmF0dXJhIELDoXNpY2E8YnI+IDIgYW5vcyIsICB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2NhdGFsb2dvLXByb2R1dG9zL3Byb2R1dG8vYXNzaW5hdHVyYS1tYWdpc3RyYXR1cmEtYmFzaWNhLTItYW5vcy8iIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogIm1hZ2lzdHJhdHVyYVByZW1pdW0xQW5vIiwgIG5vbWU6ICJNYWdpc3RyYXR1cmEgUHJlbWl1bTxicj4gMSBhbm8iLCAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtbWFnaXN0cmF0dXJhLWFudWFsLyIsIGRlc3RhcXVlOiB0cnVlIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogIm1hZ2lzdHJhdHVyYVByZW1pdW0yQW5vcyIsIG5vbWU6ICJNYWdpc3RyYXR1cmEgUHJlbWl1bTxicj4gMiBhbm9zIiwgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtbWFnaXN0cmF0dXJhLTItYW5vcy8iLCBkZXN0YXF1ZTogdHJ1ZSB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIGlkOiAiYm94QXNzaW5hdHVyYURlbHRhIiwNCiAgICAgICAgICAgIHRpdHVsbzogIkFzc2luYXR1cmEgRGVsdGEiLA0KICAgICAgICAgICAgc3VidGl0dWxvOiAiQWJyYW5nZSBvcyAyNiBlc3RhZG9zIGRhIGZlZGVyYcOnw6NvLCBERiBlIERlbGVnYWRvIGRhIFBvbMOtY2lhIEZlZGVyYWwuIiwNCiAgICAgICAgICAgIGFzc2luYXR1cmFzOiBbDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogImRlbHRhQmFzaWNhMUFubyIsICAgbm9tZTogIkRlbHRhIELDoXNpY2E8YnI+IDEgYW5vIiwgICB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2NhdGFsb2dvLXByb2R1dG9zL3Byb2R1dG8vYXNzaW5hdHVyYS1kZWx0YS1iYXNpY2EtMS1hbm8vIiB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJkZWx0YUJhc2ljYTJBbm9zIiwgIG5vbWU6ICJEZWx0YSBCw6FzaWNhPGJyPiAyIGFub3MiLCAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtZGVsdGEtYmFzaWNhLTItYW5vcy8iIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogImRlbHRhUHJlbWl1bTFBbm8iLCAgbm9tZTogIkRlbHRhIFByZW1pdW08YnI+IDEgYW5vIiwgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLWRlbHRhLTEtYW5vLyIsIGRlc3RhcXVlOiB0cnVlIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogImRlbHRhUHJlbWl1bTJBbm9zIiwgbm9tZTogIkRlbHRhIFByZW1pdW08YnI+IDIgYW5vcyIsIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLWRlbHRhLTItYW5vcy8iLCBkZXN0YXF1ZTogdHJ1ZSB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIGlkOiAiYm94QXNzaW5hdHVyYUNhcnRvcmlvcyIsDQogICAgICAgICAgICB0aXR1bG86ICJBc3NpbmF0dXJhIENhcnTDs3Jpb3MiLA0KICAgICAgICAgICAgc3VidGl0dWxvOiAiQWJyYW5nZSB0b2RhcyBhcyBwcm92YXMgZG8gRU5BQyBlIG9zIGNvbmN1cnNvcyBkZSB0b2RhcyBhcyBzZXJ2ZW50aWFzIGRlIHRvZG9zIG9zIFRyaWJ1bmFpcy4iLA0KICAgICAgICAgICAgYXNzaW5hdHVyYXM6IFsNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAiY2FydG9yaW9zQmFzaWNhMUFubyIsICAgbm9tZTogIkNhcnTDs3Jpb3MgQsOhc2ljYTxicj4gMSBhbm8iLCAgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLWNhcnRvcmlvcy1iYXNpY2EtMS1hbm8vIiB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJjYXJ0b3Jpb3NCYXNpY2EyQW5vcyIsICBub21lOiAiQ2FydMOzcmlvcyBCw6FzaWNhPGJyPiAyIGFub3MiLCAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtY2FydG9yaW9zLWJhc2ljYS0yLWFub3MvIiB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJjYXJ0b3Jpb3NQcmVtaXVtMUFubyIsICBub21lOiAiQ2FydMOzcmlvcyBQcmVtaXVtPGJyPiAxIGFubyIsICB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2NhdGFsb2dvLXByb2R1dG9zL3Byb2R1dG8vYXNzaW5hdHVyYS1jYXJ0b3Jpb3MtMS1hbm8vIiwgZGVzdGFxdWU6IHRydWUgfSwNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAiY2FydG9yaW9zUHJlbWl1bTJBbm9zIiwgbm9tZTogIkNhcnTDs3Jpb3MgUHJlbWl1bTxicj4gMiBhbm9zIiwgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtY2FydG9yaW9zLTItYW5vcy8iLCBkZXN0YXF1ZTogdHJ1ZSB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIGlkOiAiYm94QXNzaW5hdHVyYURlZmVuc29yaWFzIiwNCiAgICAgICAgICAgIHRpdHVsbzogIkFzc2luYXR1cmEgRGVmZW5zb3JpYXMiLA0KICAgICAgICAgICAgc3VidGl0dWxvOiAiQWJyYW5nZSBhcyAyNyBEUEVzLCBpbmNsdWluZG8gYSBEUERGLCBlIGEgRFBVIiwNCiAgICAgICAgICAgIGFzc2luYXR1cmFzOiBbDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogImRlZmVuc29yaWFzQmFzaWNhMUFubyIsICAgbm9tZTogIkRlZmVuc29yaWFzIELDoXNpY2E8YnI+IDEgYW5vIiwgICB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2NhdGFsb2dvLXByb2R1dG9zL3Byb2R1dG8vYXNzaW5hdHVyYS1kZWZlbnNvcmlhcy1iYXNpY2EtMS1hbm8vIiB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJkZWZlbnNvcmlhc0Jhc2ljYTJBbm9zIiwgIG5vbWU6ICJEZWZlbnNvcmlhcyBCw6FzaWNhPGJyPiAyIGFub3MiLCAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtZGVmZW5zb3JpYXMtYmFzaWNhLTItYW5vcy8iIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogImRlZmVuc29yaWFzUHJlbWl1bTFBbm8iLCAgbm9tZTogIkRlZmVuc29yaWFzIFByZW1pdW08YnI+IDEgYW5vIiwgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLWRlZmVuc29yaWEtMS1hbm8vIiwgZGVzdGFxdWU6IHRydWUgfSwNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAiZGVmZW5zb3JpYXNQcmVtaXVtMkFub3MiLCBub21lOiAiRGVmZW5zb3JpYXMgUHJlbWl1bTxicj4gMiBhbm9zIiwgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtZGVmZW5zb3JpYS0yLWFub3MvIiwgZGVzdGFxdWU6IHRydWUgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICBpZDogImJveEFzc2luYXR1cmFQcm9tb3RvcmlhcyIsDQogICAgICAgICAgICB0aXR1bG86ICJBc3NpbmF0dXJhIFByb21vdG9yaWFzIiwNCiAgICAgICAgICAgIHN1YnRpdHVsbzogIkFicmFuZ2Ugb3MgMjYgTVBFcywgTVBERlQsIE1QRiwgTVBUIGUgTWluaXN0w6lyaW8gUMO6YmxpY28gZGUgQ29udGFzIiwNCiAgICAgICAgICAgIGFzc2luYXR1cmFzOiBbDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogInByb21vdG9yaWFzQmFzaWNhMUFubyIsICAgbm9tZTogIlByb21vdG9yaWFzIELDoXNpY2E8YnI+IDEgYW5vIiwgICB1cmw6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2NhdGFsb2dvLXByb2R1dG9zL3Byb2R1dG8vYXNzaW5hdHVyYS1wcm9tb3Rvcmlhcy1iYXNpY2EtMS1hbm8vIiB9LA0KICAgICAgICAgICAgICAgIHsgY2hhdmU6ICJwcm9tb3Rvcmlhc0Jhc2ljYTJBbm9zIiwgIG5vbWU6ICJQcm9tb3RvcmlhcyBCw6FzaWNhPGJyPiAyIGFub3MiLCAgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtcHJvbW90b3JpYXMtYmFzaWNhLTItYW5vcy8iIH0sDQogICAgICAgICAgICAgICAgeyBjaGF2ZTogInByb21vdG9yaWFzUHJlbWl1bTFBbm8iLCAgbm9tZTogIlByb21vdG9yaWFzIFByZW1pdW08YnI+IDEgYW5vIiwgIHVybDogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY2F0YWxvZ28tcHJvZHV0b3MvcHJvZHV0by9hc3NpbmF0dXJhLXByb21vdG9yaWEtMS1hbm8vIiwgZGVzdGFxdWU6IHRydWUgfSwNCiAgICAgICAgICAgICAgICB7IGNoYXZlOiAicHJvbW90b3JpYXNQcmVtaXVtMkFub3MiLCBub21lOiAiUHJvbW90b3JpYXMgUHJlbWl1bTxicj4gMiBhbm9zIiwgdXJsOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jYXRhbG9nby1wcm9kdXRvcy9wcm9kdXRvL2Fzc2luYXR1cmEtcHJvbW90b3JpYS0yLWFub3MvIiwgZGVzdGFxdWU6IHRydWUgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9DQogICAgXTsNCg0KICAgIGZ1bmN0aW9uIG1vbnRhckJveFByZWNvIChhc3NpbmF0dXJhKSB7DQoNCiAgICAgICAgcmV0dXJuICcnICsNCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hQcmVjb3MiPicgKw0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hQcmVjbyI+JyArDQogICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0idGl0dWxvIj5DYXJ0w6NvPC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InByZWNvRGUgbm9uZSI+PC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InByZWNvUG9yIj48L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICc8YSBocmVmPSInICsgYXNzaW5hdHVyYS51cmwgKyAnIj5Bc3NpbmUgYWdvcmE8L2E+JyArDQogICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgJzwvZGl2Pic7DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb250YXJBc3NpbmF0dXJhIChhc3NpbmF0dXJhKSB7DQoNCiAgICAgICAgcmV0dXJuICcnICsNCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hBc3NpbmF0dXJhIiBkYXRhLWNoYXZlPSInICsgYXNzaW5hdHVyYS5jaGF2ZSArICciPicgKw0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hJbnRlcm5vICcgKyAoYXNzaW5hdHVyYS5kZXN0YXF1ZSA\/ICdtZWxob3JPZmVydGFCb3gnIDogJ3NlbU1lbGhvck9mZXJ0YScpICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgIChhc3NpbmF0dXJhLmRlc3RhcXVlID8gJzxzcGFuIGNsYXNzPSJtZWxob3JPZmVydGEiPk1haXMgY29tcGxldG88L3NwYW4+JyA6ICcnKSArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hFY29ub21pemUiPjwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAnPGgyPicgKyBhc3NpbmF0dXJhLm5vbWUgKyAnPC9oMj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9Imxpc3RhQm9udXMiPjx1bD48L3VsPjwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICBtb250YXJCb3hQcmVjbyhhc3NpbmF0dXJhKSArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hMaW5rU2FpYmEiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxhIGNsYXNzPSJsaW5rU2FpYmEiPkNvbmhlw6dhIGFzIGZlcnJhbWVudGFzIGV4Y2x1c2l2YXM8L2E+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAnPC9kaXY+JzsNCg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIG1vbnRhckNhcnJlaXJhIChjYXJyZWlyYSwgaW5kaWNlKSB7DQoNCiAgICAgICAgdmFyIHRhZyA9IGNhcnJlaXJhLm1haXNDb21wbGV0YSA\/ICc8c3BhbiBjbGFzcz0idGFnQ29tcGxldGEiPk1BSVMgQ09NUExFVEE8L3NwYW4+JyA6ICcnOw0KDQogICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iY2FyZCBwYW5lbCBwYW5lbC1kZWZhdWx0IiBpZD0iJyArIGNhcnJlaXJhLmlkICsgJyI+JyArDQogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIiBpZD0iaGVhZGluZ0NhcnJlaXJhc0VzcGVjaWZpY2FzJyArIGluZGljZSArICciPicgKw0KICAgICAgICAgICAgICAgICAgICAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSInICsNCiAgICAgICAgICAgICAgICAgICAgICAgICcgZGF0YS10YXJnZXQ9IiNjb2xsYXBzZUNhcnJlaXJhc0VzcGVjaWZpY2FzJyArIGluZGljZSArICciJyArDQogICAgICAgICAgICAgICAgICAgICAgICAnIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZScgKyBpbmRpY2UgKyAnIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjb250YWluZXIiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hUaXR1bG8iPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InRpdHVsb0xvdGUiPicgKyBlc2NhcGFySHRtbChjYXJyZWlyYS50aXR1bG8pICsgdGFnICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJzdWJ0aXR1bG9Mb3RlIj4nICsgZXNjYXBhckh0bWwoY2FycmVpcmEuc3VidGl0dWxvKSArICc8L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1wbHVzLXdoaXRlLnN2ZyIgYWx0PSJBYnJpciBkw7p2aWRhIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzwvYnV0dG9uPicgKw0KICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAnPGRpdiBpZD0iY29sbGFwc2VDYXJyZWlyYXNFc3BlY2lmaWNhcycgKyBpbmRpY2UgKyAnIiBjbGFzcz0iY29sbGFwc2UgYm94Q29udGV1ZG8iJyArDQogICAgICAgICAgICAgICAgICAgICcgYXJpYS1sYWJlbGxlZGJ5PSJoZWFkaW5nQ2FycmVpcmFzRXNwZWNpZmljYXMnICsgaW5kaWNlICsgJyInICsNCiAgICAgICAgICAgICAgICAgICAgJyBkYXRhLXBhcmVudD0iI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzIj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ibGlzdGFBc3NpbmF0dXJhc0NvbnRldWRvIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXJyZWlyYS5hc3NpbmF0dXJhcy5tYXAobW9udGFyQXNzaW5hdHVyYSkuam9pbignJykgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgJzwvZGl2Pic7DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb250YXJDYXJyZWlyYXNFc3BlY2lmaWNhcyAoKSB7DQoNCiAgICAgICAgJCgnI2FjY29yZGlvbkNhcnJlaXJhc0VzcGVjaWZpY2FzJykuaHRtbCgNCiAgICAgICAgICAgIGNhcnJlaXJhcy5tYXAobW9udGFyQ2FycmVpcmEpLmpvaW4oJycpDQogICAgICAgICk7DQoNCiAgICB9DQoNCiAgICAvLyBSZXN1bHRhZG9zIGVtIGNvbmN1cnNvcyAoLnJlc3VsdGFkb3NDb25jdXJzb3MpLg0KICAgIC8vIENhZGEgY29ucXVpc3RhIMOpIHVtIGRlc3RhcXVlICjDrWNvbmUgZGUgcMOzZGlvL3Ryb2bDqXUpIG91IHVtIHBlcmNlbnR1YWwgKGdyw6FmaWNvKS4NCiAgICAvLyAidGV4dG8iIGFjZWl0YSBIVE1MIOKAlCBxdWFzZSB0b2RvcyB1c2FtIDxzdHJvbmc+IHBhcmEgcmVhbMOnYXIgbyBuw7ptZXJvLg0KDQogICAgdmFyIHJlc3VsdGFkb3MgPSBbDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIjXCuiBFTkFNICgyMDI2LjEpIiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAicG9kaW8iLCB0ZXh0bzogIjQuNTAwIGFsdW5vcyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcyBmb3JhbSBhcHJvdmFkb3Mgbm8gRU5BTSAyMDI2LjEhIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIjPCuiBFTkFDICgyMDI2LjEpIiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAidHJvZmV1IiwgdGV4dG86ICIzODAgYWx1bm9zIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzIGZvcmFtIGFwcm92YWRvcyBubyBFTkFDIDIwMjYuMSEiIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiQWR2b2dhZG8gRU1DT1AgUmlvIFByZXRvIDIwMjYiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJ0cm9mZXUiLCB0ZXh0bzogIkFwcm92YWRvIGVtIDHCuiBsdWdhciDDqSBhbHVubyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcy4iIH0sDQogICAgICAgICAgICAgICAgeyBpY29uZTogInBvZGlvIiwgdGV4dG86ICJDb25jdXJzbyBvZmVydG91IGFwZW5hcyAxIHZhZ2EgLSBhcHJvdmFkb3MgZW0gMsK6LCAzwrogZSA0wrogbHVnYXIgdGFtYsOpbSBzw6NvIG5vc3NvcyBhbHVub3MiIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiUEdFIE1UIFByb2N1cmFkb3IgMjAyNSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInRyb2ZldSIsIHRleHRvOiAiOSBhbHVub3MgZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMgYXByb3ZhZG9zIG5vIGNvbmN1cnNvLiIgfSwNCiAgICAgICAgICAgICAgICB7IGljb25lOiAicG9kaW8iLCB0ZXh0bzogIkluY2x1c2l2ZSwgb3MgYXByb3ZhZG9zIGVtIDHCuiwgMsK6IGUgM8K6IGx1Z2FyISIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJNUEYgUHJvY3VyYWRvciAyMDI1IiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAicG9kaW8iLCB0ZXh0bzogIjE0IGFsdW5vcyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcyBhcHJvdmFkb3Mgbm8gY29uY3Vyc28sIGluY2x1aW5kbyBvIDTCuiwgNsK6LCA3wrogZSA5wrogbHVnYXIuIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIkRQRSBSUyBEZWZlbnNvciAyMDI1IiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAidHJvZmV1IiwgdGV4dG86ICI3IGFsdW5vcyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcyBhcHJvdmFkb3Mgbm8gY29uY3Vyc28sIGluY2x1aW5kbyBvIDLCuiBsdWdhci4iIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiRGVsZWdhZG8gUG9sw61jaWEgRmVkZXJhbCAyMDI1IiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAidHJvZmV1IiwgdGV4dG86ICI2NiBhbHVub3MgZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMgYXByb3ZhZG9zIG5vIGNvbmN1cnNvLiAiIH0sDQogICAgICAgICAgICAgICAgeyBpY29uZTogInBvZGlvIiwgdGV4dG86ICJJbmNsdXNpdmUsIG9zIGFwcm92YWRvcyBlbSAxwrogZSA0wrogbHVnYXIhIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIkRlbGVnYWRvIFBDIENFIDIwMjUiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJ0cm9mZXUiLCB0ZXh0bzogIjM3IGFsdW5vcyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcyBhcHJvdmFkb3Mgbm8gY29uY3Vyc28sIGluY2x1aW5kbyBvIDTCuiBsdWdhci4iIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiUHJvY3VyYWRvciBDw6JtYXJhIGRlIEl0dW1iaWFyYSBHTyAyMDI1IiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAidHJvZmV1IiwgdGV4dG86ICJBcHJvdmFkbyBlbSAxwrogbHVnYXIgw6kgYWx1bm8gZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMuIENvbmN1cnNvIG9mZXJ0b3UgYXBlbmFzIDEgdmFnYSAtIGFwcm92YWRvcyBlbSAywrogZSAzwrogbHVnYXIgdGFtYsOpbSBzw6NvIG5vc3NvcyBhbHVub3MiIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiQWR2b2dhZG8gTklUVFJBTlMgMjAyNSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInRyb2ZldSIsIHRleHRvOiAiQXByb3ZhZG8gZW0gMcK6IGx1Z2FyIMOpIGFsdW5vIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzLiBDb25jdXJzbyBvZmVydG91IGFwZW5hcyAxIHZhZ2EgLSBhcHJvdmFkbyBlbSAywrogbHVnYXIgdGFtYsOpbSDDqSBub3NzbyBhbHVubyIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJBZHZvZ2FkbyBQcmVmZWl0dXJhIGRlIEpvaW52aWxsZSBTQyAyMDI1IiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAidHJvZmV1IiwgdGV4dG86ICJBcHJvdmFkbyBlbSAxwrogbHVnYXIgw6kgYWx1bm8gZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMuIENvbmN1cnNvIG9mZXJ0b3UgYXBlbmFzIDEgdmFnYSIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJQcm9tb3RvciBNUCBSSiAyMDI1IiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAicG9kaW8iLCB0ZXh0bzogIkFwcm92YWRvIGVtIDLCuiBsdWdhciBlc3R1ZG91IGNvbSBvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzLiIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJBZHZvZ2FkbyBDUk8gU1AgMjAyNSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInBvZGlvIiwgdGV4dG86ICJBbHVub3MgZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMgb2N1cGFtIGFzIDIgdmFnYXMgb2ZlcnRhZGFzIG5vIGNvbmN1cnNvLiIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJKdWl6IFRKIFNDIDIwMjUiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJwb2RpbyIsIHRleHRvOiAiOCBhbHVub3MgZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMgYXByb3ZhZG9zIG5vIGNvbmN1cnNvLCBpbmNsdWluZG8gbyAxwrogbHVnYXIhIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIkp1aXogTGVpZ28gVEogU0MgMjAyNSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInBvZGlvIiwgdGV4dG86ICIyMCBhbHVub3MgZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMgYXByb3ZhZG9zIG5vIGNvbmN1cnNvLCBpbmNsdWluZG8gMcK6IGUgMsK6IGx1Z2FyLiIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9DQogICAgXTsNCg0KICAgIGZ1bmN0aW9uIG1vbnRhckNvbnF1aXN0YSAoY29ucXVpc3RhKSB7DQoNCiAgICAgICAgdmFyIGRlc3RhcXVlID0gY29ucXVpc3RhLnBlcmNlbnR1YWwgIT09IHVuZGVmaW5lZA0KICAgICAgICAgICAgPyAnPGRpdiBjbGFzcz0iY2hhcnQgZWFzeS1waWUtY2hhcnQiIGRhdGEtcGVyY2VudD0iJyArIGNvbnF1aXN0YS5wZXJjZW50dWFsICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InBlcmNlbnQiPicgKyBjb25xdWlzdGEucGVyY2VudHVhbCArICc8L3NwYW4+JyArDQogICAgICAgICAgICAgICc8L2Rpdj4nDQogICAgICAgICAgICA6ICc8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy0nICsgY29ucXVpc3RhLmljb25lICsgJy5zdmciIGFsdD0iVmVyIE1haXMiPic7DQoNCiAgICAgICAgcmV0dXJuICcnICsNCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hSZXN1bHRhZG8iPicgKw0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hSZXN1bHRhZG9JbnRlcm5vIj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJveFRleHRvIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0idGV4dG8iPicgKyBjb25xdWlzdGEudGV4dG8gKyAnPC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGFxdWUgKw0KICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgJzwvZGl2Pic7DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb250YXJSZXN1bHRhZG8gKHJlc3VsdGFkbykgew0KDQogICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iY29sLXNtLTMiPicgKw0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hDYXJyZWlyYSI+JyArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hUaXR1bG8iPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxoMz4nICsgZXNjYXBhckh0bWwocmVzdWx0YWRvLnRpdHVsbykgKyAnPC9oMz4nICsNCiAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ibGlzdGFJdGVucyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRhZG8uY29ucXVpc3Rhcy5tYXAobW9udGFyQ29ucXVpc3RhKS5qb2luKCcnKSArDQogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAnPC9kaXY+JzsNCg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIG1vbnRhclJlc3VsdGFkb3MgKCkgew0KDQogICAgICAgIC8vIHByZXBlbmQ6IG8gYm90w6NvICJNb3N0cmFyIG1haXMgcmVzdWx0YWRvcyIgw6kgbyDDumx0aW1vIGZpbGhvIGRvIGNvbnRhaW5lcg0KICAgICAgICAkKCcucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5jb250YWluZXInKS5wcmVwZW5kKA0KICAgICAgICAgICAgcmVzdWx0YWRvcy5tYXAobW9udGFyUmVzdWx0YWRvKS5qb2luKCcnKQ0KICAgICAgICApOw0KDQogICAgfQ0KDQogICAgLy8gUHJvZmVzc29yZXMgcG9yIMOhcmVhICgjYWNjb3JkaW9uUHJvZmVzc29yZXMpLg0KICAgIC8vIE8gbWVzbW8gcHJvZmVzc29yIGFwYXJlY2UgZW0gdsOhcmlhcyDDoXJlYXMsIGNvbSBjYXJnbyBlc3BlY8OtZmljbyBkZSBjYWRhIHVtYSDigJQNCiAgICAvLyBwb3IgaXNzbyBvIGNhcmdvIGZpY2EgbmEgZW50cmFkYSBkYSDDoXJlYSwgZSBuw6NvIG51bSBjYWRhc3RybyDDum5pY28uDQoNCiAgICAvLyBBcnF1aXZvcyBjdWpvIG5vbWUgbsOjbyBzZWd1ZSBhIGdyYWZpYSBkbyBwcm9mZXNzb3INCiAgICB2YXIgaW1hZ2Vuc1Byb2Zlc3NvcmVzID0gew0KICAgICAgICAiRnJhbmsgV2VuZGVsIENob3NzYW5pIjogICJmcmFuay13bmRlbC1jaG9zc2FuaS5qcGciLA0KICAgICAgICAiUmFmYWVsIEJhcnJldG8iOiAgICAgICAgICJyYWZhZWwtYmFycmV0dG8uanBnIiwNCiAgICAgICAgIkZsw6F2aW8gTWlsaG9tZW0iOiAgICAgICAgImZsYXZpby1taWxob21lbi5qcGciLA0KICAgICAgICAiSm9zaWFzIEJhcmNlbG9zIErDum5pb3IiOiAiam9zaWFzLWJhcmNlbG9zLmpwZyIsDQogICAgICAgICJMdWNhcyBQZXNzw7RhIE1vcmVpcmEiOiAgICJsdWNhcy1wZXNzb2EuanBnIg0KICAgIH07DQoNCiAgICB2YXIgcHJvZmVzc29yZXMgPSBbDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIlByb2Zlc3NvcmVzIGRlIERlZmVuc29yaWEiLA0KICAgICAgICAgICAgZXF1aXBlOiBbDQogICAgICAgICAgICAgICAgeyBub21lOiAiQWxsYW4gSm9vcyIsICAgICAgY2FyZ286ICJDb29yZGVuYWRvciBkYSDDoXJlYSBkZSBEZWZlbnNvcmlhIGUgcHJvZmVzc29yIGRlIERpcmVpdG8gUGVuYWwsIFByb2Nlc3N1YWwgUGVuYWwsIENyaW1pbm9sb2dpYSBlIEV4ZWN1w6fDo28gUGVuYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiRGFuaWVsIE1lc3F1aXRhIiwgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBBZG1pbmlzdHJhdGl2byIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJNYXJpYSBFZHVhcmRhIFNlcmVqbyIsIGNhcmdvOiAiUHJvZmVzc29yYSBkZSBEaXJlaXRvIENpdmlsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIllhc21pbiBVc2hhcmEiLCBjYXJnbzogIlByb2dyYW1hIGRlIE1ldGFzIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIlByb2Zlc3NvcmVzIGRlIENhcnTDs3Jpb3MiLA0KICAgICAgICAgICAgZXF1aXBlOiBbDQogICAgICAgICAgICAgICAgeyBub21lOiAiQWRyaWFubyDDgWx2YXJlcyIsICAgICAgICBjYXJnbzogIkNvb3JkZW5hZG9yIGRhIMOhcmVhIGRlIENhcnTDs3Jpb3MgZSBwcm9mZXNzb3IgZGUgVGFiZWxpb25hdG8gZGUgUHJvdGVzdG9zIGUgUmVnaXN0cm8gZGUgSW3Ds3ZlaXMiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUGFsb21hIEJlcnR0b3R0aSIsICAgICAgIGNhcmdvOiAiUHJvZmVzc29yYSBkZSBSZWdpc3RybyBDaXZpbCBkZSBQZXNzb2FzIE5hdHVyYWlzIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlBhdWxvIFNvdXNhIiwgICAgICAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIENpdmlsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIk5lbG1hIEZvbnRhbmEiLCAgICAgICAgICBjYXJnbzogIlByb2Zlc3NvcmEgZGUgRGlyZWl0byBDb25zdGl0dWNpb25hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJSb2RyaWdvIFZhc2xpbiIsICAgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBQcm9jZXNzdWFsIENpdmlsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlJvZG9sZm8gUGVubmEiLCAgICAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIEFkbWluaXN0cmF0aXZvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIklnb3IgTWFjaWVsIiwgICAgICAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIEFkbWluaXN0cmF0aXZvIGUgRGlyZWl0byBkbyBDb25zdW1pZG9yIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIk1pY2hhZWwgUHJvY8OzcGlvIiwgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBQZW5hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJMZW9uYXJkbyBUYXZhcmVzIiwgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBQcm9jZXNzbyBQZW5hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJSaWNhcmRvIFRvcnF1ZXMiLCAgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRXN0YXR1dG8gZGEgQ3JpYW7Dp2EgZSBBZG9sZXNjZW50ZSIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJMZWFuZHJvIFNpZ25vcmkiLCAgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgQXR1YWxpZGFkZXMiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiQXNzdWVybyBSb2RyaWd1ZXMgTmV0byIsIGNhcmdvOiAiVGVvcmlhIEdlcmFsIGRvIERpcmVpdG8gTm90YXJpYWwgZSBSZWdpc3RyYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiRnJhbmsgV2VuZGVsIENob3NzYW5pIiwgIGNhcmdvOiAiVGFiZWxpb25hdG8gZGUgTm90YXMiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUmFmYWVsIFNww61ub2xhIENhc3RybyIsICBjYXJnbzogIlJlZ2lzdHJvIGRlIEltw7N2ZWlzIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlBlZHJvIFJvY2hhIiwgIGNhcmdvOiAiVGFiZWxpb25hdG8gZGUgTm90YXMiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiSWh1cnUgQXNzdW7Dp8OjbyIsICBjYXJnbzogIiIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJQcm9mZXNzb3JlcyBkZSBQcm9tb3RvcmlhIiwNCiAgICAgICAgICAgIGVxdWlwZTogWw0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkd1aWxoZXJtZSBSZXplbmRlIiwgY2FyZ286ICJDb29yZGVuYWRvciBkYSDDoXJlYSBkZSBQcm9tb3RvcmlhIGUgcHJvZmVzc29yIGRlIERpcmVpdG8gUHJvY2Vzc3VhbCBQZW5hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJWaW5pY2l1cyBab3BvbmkiLCAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG9zIEh1bWFub3MiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTmVsbWEgRm9udGFuYSIsICAgICBjYXJnbzogIlByb2Zlc3NvcmEgZGUgRGlyZWl0byBDb25zdGl0dWNpb25hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJQYXVsbyBTb3VzYSIsICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQ2l2aWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiVGhpYWdvIExlaXRlIiwgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIEFtYmllbnRhbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJBbGV4IEZhZGVsIiwgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIExlZ2lzbGHDp8OjbyBQZW5hbCBFc3BlY2lhbCBlIEVDQSIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJHdXN0YXZvIENvcmRlaXJvIiwgIGNhcmdvOiAiUHJvZmVzc29yIGRlIGRpZnVzb3MsIGNvbGV0aXZvcyBlIGluZGl2aWR1YWlzIGhvbW9nw6puZW9zIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIk1hcmlzYSBCZXplcnJhIiwgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgVHJpYnV0w6FyaW8gZSBFbGVpdG9yYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiQWRyeWFuIEp1dmVyIiwgICAgY2FyZ286ICIiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiRGFuaWVsIFJpenphIiwgICAgY2FyZ286ICJFbXByZXNhcmlhbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJGZWxpcGUgRHVxdWUiLCAgICBjYXJnbzogIkRpcmVpdG8gVHJpYnV0w6FyaW8iIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiUHJvZmVzc29yZXMgZGUgTWFnaXN0cmF0dXJhIiwNCiAgICAgICAgICAgIGVxdWlwZTogWw0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlJvZHJpZ28gVmFzbGluIiwgICAgY2FyZ286ICJDb29yZGVuYWRvciBkYSDDoXJlYSBkZSBNYWdpc3RyYXR1cmEgZSBwcm9mZXNzb3IgZGUgRGlyZWl0byBQcm9jZXNzdWFsIENpdmlsIGUgVHV0ZWxhIENvbGV0aXZhIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIk5lbG1hIEZvbnRhbmEiLCAgICAgY2FyZ286ICJQcm9mZXNzb3JhIGRlIERpcmVpdG8gQ29uc3RpdHVjaW9uYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUm9kb2xmbyBQZW5uYSIsICAgICBjYXJnbzogIlByb2Zlc3NvcmEgZGUgRGlyZWl0byBBZG1pbmlzdHJhdGl2byIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJQYXVsbyBTb3VzYSIsICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQ2l2aWwgZSBEaXJlaXRvIEFncsOhcmlvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIk1pY2hhZWwgUHJvY8OzcGlvIiwgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gUGVuYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTGVvbmFyZG8gVGF2YXJlcyIsICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIFByb2Nlc3N1YWwgUGVuYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiSXZhbiBNYXJxdWVzIiwgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBMZWdpc2xhw6fDo28gUGVuYWwgRXNwZWNpYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUm9nw6lyaW8gQ3VuaGEiLCAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBUcmlidXTDoXJpbyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJUaGlhZ28gTGVpdGUiLCAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQW1iaWVudGFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIklnb3IgTWFjaWVsIiwgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBkbyBDb25zdW1pZG9yIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkFsZXggRmFkZWwiLCAgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRUNBIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkRhbm5pZWwgQWRyaWFubyIsICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBDb25zdGl0dWNpb25hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJCcnVubyBUZXJyYSIsICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gUHJvY2Vzc3VhbCBDaXZpbCBlIENvbnN1bWlkb3IiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiRGFuaWVsIFJpenphIiwgICAgY2FyZ286ICJFbXByZXNhcmlhbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJHdXN0YXZvIENvcmRlaXJvIiwgICAgY2FyZ286ICJFQ0EiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTGVvbmFyZG8gRmVybmFuZGVzIiwgICAgY2FyZ286ICJEaXJlaXRvIEVsZWl0b3JhbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJKdWxpYW5hIE1vcmFpcyIsICAgIGNhcmdvOiAiRGlyZWl0byBkbyBUcmFiYWxobyBlIFByb2Nlc3NvIGRvIFRyYWJhbGhvIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIlByb2Zlc3NvcmVzIGRlIERlbGVnYWRvcyIsDQogICAgICAgICAgICBlcXVpcGU6IFsNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJNaWNoYWVsIFByb2PDs3BpbyIsICBjYXJnbzogIkNvb3JkZW5hZG9yIGRhIMOhcmVhIGRlIERlbGVnYWRvcyBlIHByb2Zlc3NvciBkZSBEaXJlaXRvIFBlbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlBhdWxvIFNvdXNhIiwgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBDaXZpbCBlIERpcmVpdG8gQWdyw6FyaW8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUm9kcmlnbyBWYXNsaW4iLCAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIFByb2Nlc3N1YWwgQ2l2aWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUGF1bG8gQmlseW5za3lqIiwgICBjYXJnbzogIlByb2Zlc3NvciBkZSBNZWRpY2luYSBMZWdhbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJXYWxlc2thIEFsdmFyZW5nYSIsIGNhcmdvOiAiUHJvZmVzc29yYSBkZSBEaXJlaXRvIFBlbmFsIGUgUGXDp2FzIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkxlb25hcmRvIFRhdmFyZXMiLCAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBQcm9jZXNzdWFsIFBlbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkl2YW4gTWFycXVlcyIsICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgTGVnaXNsYcOnw6NvIFBlbmFsIEVzcGVjaWFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlJvZG9sZm8gUGVubmEiLCAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBBZG1pbmlzdHJhdGl2byIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJOZWxtYSBGb250YW5hIiwgICAgIGNhcmdvOiAiUHJvZmVzc29yYSBkZSBEaXJlaXRvIENvbnN0aXR1Y2lvbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlJpY2FyZG8gVG9ycXVlcyIsICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0b3MgSHVtYW5vcyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJUaGlhZ28gTGVpdGUiLCAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQW1iaWVudGFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIklnb3IgTWFjaWVsIiwgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBBZG1pbmlzdHJhdGl2byIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJPdG8gQW5kcmFkZSIsICAgICAgIGNhcmdvOiAiRGlyZWl0byBDb25zdGl0dWNpb25hbCBlIFBlw6dhcyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJMdWNhcyBQZXRyeSIsICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gUGVuYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTGFyeXNzYSBOZXZlcyIsICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIFByb2Nlc3N1YWwgUGVuYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiRmFicsOtY2lvIER1dHJhIiwgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgUG9ydHVndcOqcyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJEaWVnbyBDYXJ2YWxobyIsICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIEluZm9ybcOhdGljYSIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJUaG9tYXogUmliZWlybyIsICAgIGNhcmdvOiAiV2ViaW5hcmlzdGEiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUHJpc2NpbGxhIENhcnZhbGhvIiwgICAgY2FyZ286ICJXZWJpbmFyaXN0YSIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJMdWNhcyBCcmlzb2xhIiwgICAgY2FyZ286ICJNZWRpY2luYSBMZWdhbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJSYWZhZWwgR29iYmkiLCAgICBjYXJnbzogIkNyaW1pbmFsw61zdGljYSBlIFByb2Nlc3NvIFBlbmFsIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIlByb2Zlc3NvcmVzIGRlIFByb2N1cmFkb3JpYSIsDQogICAgICAgICAgICBlcXVpcGU6IFsNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJSb2RvbGZvIFBlbm5hIiwgICAgICAgICAgY2FyZ286ICJDb29yZGVuYWRvciBkYSDDoXJlYSBkZSBQcm9jdXJhZG9yaWFzIGUgcHJvZmVzc29yIGRlIERpcmVpdG8gQWRtaW5pc3RyYXRpdm8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiSm9zaWFzIEJhcmNlbG9zIErDum5pb3IiLCBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIENpdmlsIGUgUHJvY2Vzc28gQ2l2aWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiSWdvciBNYWNpZWwiLCAgICAgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQWRtaW5pc3RyYXRpdm8gZSBEaXJlaXRvIGRvIENvbnN1bWlkb3IiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiRmVsaXBlIER1cXVlIiwgICAgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gVHJpYnV0w6FyaW8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiSm\/Do28gTGF3YWxsIiwgICAgICAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIEZpbmFuY2Vpcm8gZSBFY29uw7RtaWNvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkFkcmlhbmEgTWVuZXplcyIsICAgICAgICBjYXJnbzogIlByb2Zlc3NvcmEgZGUgRGlyZWl0byBQcmV2aWRlbmNpw6FyaW8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTHVjYXMgUGVzc8O0YSBNb3JlaXJhIiwgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIGRvIFRyYWJhbGhvIGUgUHJvY2Vzc28gZG8gVHJhYmFsaG8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiVGhpYWdvIExlaXRlIiwgICAgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQW1iaWVudGFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlRoYWlzIFNvdXphIiwgICAgICAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIFByb2Nlc3N1YWwgQ2l2aWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiRmVsaXBlIEZlcm5hbmRlcyIsICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gZG8gVHJhYmFsaG8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiRGFuaWVsIE1lc3F1aXRhIiwgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBBZG1pbmlzdHJhdGl2byIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJEYW5pZWwgUml6emEiLCAgICAgICBjYXJnbzogIkVtcHJlc2FyaWFsIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0NCiAgICBdOw0KDQogICAgLy8gQSBmb3RvIHNlZ3VlIGEgZ3JhZmlhIGRvIG5vbWUgKCJBbGxhbiBKb29zIiAtPiAiYWxsYW4tam9vcy5qcGciKSwNCiAgICAvLyBzYWx2byBvcyBhcnF1aXZvcyBsaXN0YWRvcyBlbSBpbWFnZW5zUHJvZmVzc29yZXMuDQoNCiAgICBmdW5jdGlvbiBmb3RvUHJvZmVzc29yIChub21lKSB7DQoNCiAgICAgICAgaWYgKGltYWdlbnNQcm9mZXNzb3Jlc1tub21lXSkgew0KICAgICAgICAgICAgcmV0dXJuICdodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvcHJvZmVzc29yZXMvJyArIGltYWdlbnNQcm9mZXNzb3Jlc1tub21lXTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBzbHVnID0gbm9tZQ0KICAgICAgICAgICAgLnRvTG93ZXJDYXNlKCkNCiAgICAgICAgICAgIC5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcdTAzMDAtXHUwMzZmXS9nLCAnJykNCiAgICAgICAgICAgIC5yZXBsYWNlKC9bXmEtejAtOV0rL2csICctJykNCiAgICAgICAgICAgIC5yZXBsYWNlKC9eLXwtJC9nLCAnJyk7DQoNCiAgICAgICAgcmV0dXJuICdodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvcHJvZmVzc29yZXMvJyArIHNsdWcgKyAnLmpwZyc7DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb250YXJQcm9mZXNzb3IgKHByb2Zlc3Nvcikgew0KDQogICAgICAgIHZhciBub21lID0gZXNjYXBhckh0bWwocHJvZmVzc29yLm5vbWUpOw0KDQogICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAnPGxpIGNsYXNzPSJjb2wtc20tMyI+JyArDQogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJveEludGVybm8iPicgKw0KICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9IicgKyBmb3RvUHJvZmVzc29yKHByb2Zlc3Nvci5ub21lKSArICciIGFsdD0iJyArIG5vbWUgKyAnIj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJveFRleHRvIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0ibm9tZSI+JyArIG5vbWUgKyAnPC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxwPicgKyBlc2NhcGFySHRtbChwcm9mZXNzb3IuY2FyZ28pICsgJzwvcD4nICsNCiAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICc8L2xpPic7DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb250YXJBcmVhUHJvZmVzc29yZXMgKGFyZWEsIGluZGljZSkgew0KDQogICAgICAgIHZhciBhYmVydG8gPSBpbmRpY2UgPT09IDA7DQoNCiAgICAgICAgcmV0dXJuICcnICsNCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjYXJkIHBhbmVsIHBhbmVsLWRlZmF1bHQiPicgKw0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciIgaWQ9ImhlYWRpbmdQcm9mZXNzb3JlcycgKyBpbmRpY2UgKyAnIj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJyArIChhYmVydG8gPyAnJyA6ICdjb2xsYXBzZWQnKSArICciIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSInICsNCiAgICAgICAgICAgICAgICAgICAgICAgICcgZGF0YS10YXJnZXQ9IiNjb2xsYXBzZVByb2Zlc3NvcmVzJyArIGluZGljZSArICciJyArDQogICAgICAgICAgICAgICAgICAgICAgICAnIGFyaWEtZXhwYW5kZWQ9IicgKyAoYWJlcnRvID8gJ3RydWUnIDogJ2ZhbHNlJykgKyAnIiBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZScgKyBpbmRpY2UgKyAnIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjb250YWluZXIiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0idGl0dWxvIj4nICsgZXNjYXBhckh0bWwoYXJlYS50aXR1bG8pICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtcGx1cy13aGl0ZS5zdmciIGFsdD0iQWJyaXIgZMO6dmlkYSI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2J1dHRvbj4nICsNCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgJzxkaXYgaWQ9ImNvbGxhcHNlUHJvZmVzc29yZXMnICsgaW5kaWNlICsgJyIgY2xhc3M9ImNvbGxhcHNlIGJveENvbnRldWRvJyArIChhYmVydG8gPyAnIGluJyA6ICcnKSArICciJyArDQogICAgICAgICAgICAgICAgICAgICcgYXJpYS1sYWJlbGxlZGJ5PSJoZWFkaW5nUHJvZmVzc29yZXMnICsgaW5kaWNlICsgJyIgZGF0YS1wYXJlbnQ9IiNhY2NvcmRpb25Qcm9mZXNzb3JlcyI+JyArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjb250YWluZXIiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzx1bD4nICsgYXJlYS5lcXVpcGUubWFwKG1vbnRhclByb2Zlc3Nvcikuam9pbignJykgKyAnPC91bD4nICsNCiAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICc8L2Rpdj4nOw0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gbW9udGFyUHJvZmVzc29yZXMgKCkgew0KDQogICAgICAgICQoJyNhY2NvcmRpb25Qcm9mZXNzb3JlcycpLmh0bWwocHJvZmVzc29yZXMubWFwKG1vbnRhckFyZWFQcm9mZXNzb3Jlcykuam9pbignJykpOw0KDQogICAgfQ0KDQogICAgLy8gQ29udGXDumRvcyBlIGZ1bmNpb25hbGlkYWRlcyAoI3Bhc3Nvc0Fwcm92YWNhbykuDQogICAgLy8gIm5pdmVsIiDDqSBvIG1lc21vIG1vZGVsbyBjdW11bGF0aXZvIGRhIGNvbXBhcmHDp8OjbzogdW0gY29udGXDumRvIGRlIG7DrXZlbA0KICAgIC8vICJwcmVtaXVtIiBhcGFyZWNlIG1hcmNhZG8gY29tbyBQUkVNSVVNIGUgUExBVElOVU0uDQoNCiAgICB2YXIgcm90dWxvTml2ZWwgPSB7DQogICAgICAgICdiYXNpY2EnOiAgICdCw4FTSUNBJywNCiAgICAgICAgJ3ByZW1pdW0nOiAgJ1BSRU1JVU0nLA0KICAgICAgICAncGxhdGludW0nOiAnUExBVElOVU0nDQogICAgfTsNCg0KICAgIHZhciBwYXNzb3MgPSBbDQogICAgICAgIHsgbml2ZWw6ICJiYXNpY2EiLCAgIGltZzogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9wYXNzb3MvbGl2cm8tZGlnaXRhbC1pbnRlcmF0aXZvLnBuZyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgIHRpdHVsbzogIkxpdnJvIERpZ2l0YWwgSW50ZXJhdGl2byAoTERJKSIsDQogICAgICAgICAgZGVzY3JpY2FvOiAiTyBub3NzbyBMREkgw6kgdW0gcG9kZXJvc28gcmVjdXJzbyBkaWTDoXRpY28gcXVlIGFncmVnYSBlbSB1bWEgw7puaWNhIGludGVyZmFjZSBtYXRlcmlhaXMgY29tcGxldG9zIGVtIHbDrWRlbywgZXNjcml0b3MsIGVtIMOhdWRpbywgcXVlc3TDtWVzLCBtYXBhcyBtZW50YWlzIGUgcmVzdW1vcy4gQWzDqW0gZGlzc28gcGVybWl0ZSBxdWUgdm9jw6ogZXh0cmFpYSB1bSByZXN1bW8gZG9zIGdyaWZvcyBlIGFub3Rhw6fDtWVzIGZlaXRvcyBubyBQREYsIGFsw6ltIGRlIHBlcm1pdGlyIGEgbmF2ZWdhw6fDo28gcG9yIHVtIHN1bcOhcmlvIGludGVsaWdlbnRlLiIgfSwNCiAgICAgICAgeyBuaXZlbDogInByZW1pdW0iLCAgaW1nOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL3Bhc3Nvcy9jdXJzb3MtZXhjbHVzaXZvcy1kZS1leHRlbnNhby5wbmciLCAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgdGl0dWxvOiAiQ3Vyc29zIEV4Y2x1c2l2b3MgZGUgRXh0ZW5zw6NvIiwNCiAgICAgICAgICBkZXNjcmljYW86ICJDdXJzb3MgZW0gdsOtZGVvIGRlIGFwcm9mdW5kYW1lbnRvIG5hcyBwcmluY2lwYWlzIGRpc2NpcGxpbmFzIGp1csOtZGljYXMgZSBkZSBhYm9yZGFnZW0gZGUgdGVtYXMgZXNwZWPDrWZpY29zIG91IGFwcm9mdW5kYWRvcyBjb25mb3JtZSBhIGNhcnJlaXJhIGUgbyBjb25jdXJzby4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwcmVtaXVtIiwgIGltZzogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9wYXNzb3MvdHJpbGhhcy1lc3RyYXRlZ2ljYXMucG5nIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgIHRpdHVsbzogIlRyaWxoYXMgRXN0cmF0w6lnaWNhcyIsDQogICAgICAgICAgZGVzY3JpY2FvOiAiR3VpYSBkZSBlc3R1ZG9zIGVzdHJ1dHVyYWRvIGNvbmZvcm1lIG8gY29uY3Vyc28gcGFyYSBlc3R1ZG8gcmVndWxhciBlIHDDs3MtZWRpdGFsLCBjb20gZGlzdHJpYnVpw6fDo28gc2VtYW5hbCBkZSB0YXJlZmFzIHBhcmEgcXVlIHZvY8OqIGTDqiBhdGVuw6fDo28gYW9zIHByaW5jaXBhaXMgY29udGXDumRvcyBjb2JyYWRvcy4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwcmVtaXVtIiwgIGltZzogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9wYXNzb3MvY3Vyc29zLXBhcmEtZmFzZXMtZXNjcml0YXMucG5nIiwgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgIHRpdHVsbzogIkN1cnNvcyBwYXJhIEZhc2VzIEVzY3JpdGFzIiwNCiAgICAgICAgICBkZXNjcmljYW86ICJDdXJzb3MgZGlzY3Vyc2l2b3MgKHJlZ3VsYXJlcyBlIHBvciBlZGl0YWwpIGNvbSBjb3JyZcOnw6NvIGluZGl2aWR1YWxpemFkYSBwYXJhIGFzIGZhc2VzIGVzY3JpdGFzIGRvcyBwcmluY2lwYWlzIGNvbmN1cnNvcyBqdXLDrWRpY29zLiIgfSwNCiAgICAgICAgeyBuaXZlbDogInBsYXRpbnVtIiwgaW1nOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL3Bhc3Nvcy9jdXJzby1wYXJhLWZhc2Utb3JhbC1jb20tYXRlbmRpbWVudG8taW5kaXZpZHVhbGl6YWRvLnBuZyIsDQogICAgICAgICAgdGl0dWxvOiAiQ3Vyc28gcGFyYSBGYXNlIE9yYWwgY29tIEF0ZW5kaW1lbnRvIEluZGl2aWR1YWxpemFkbyIsDQogICAgICAgICAgZGVzY3JpY2FvOiAiTyBhbHVubyBxdWUgc2UgcXVhbGlmaWNhciBwYXJhIGEgZmFzZSBvcmFsIHRlcsOhIGRpcmVpdG8gYSBkb2lzIGF0ZW5kaW1lbnRvcyBpbmRpdmlkdWFsaXphZG9zIGNvbSBwcm9mZXNzb3IgZGEgY2FycmVpcmEgcGFyYSBhcmd1acOnw7VlcywgYWzDqW0gZGUgYXRlbmRpbWVudG8gY29tIHBzaWPDs2xvZ2EgZSBmb25vYXVkacOzbG9nYSwgY2Fzbywgbm8gY29uY3Vyc28sIGhhamEgZmFzZSBvcmFsLiIgfSwNCiAgICAgICAgeyBuaXZlbDogImJhc2ljYSIsICAgaW1nOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL3Bhc3Nvcy9yYW5raW5nLXBvcy1wcm92YS5wbmciLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgdGl0dWxvOiAiUmFua2luZyBQw7NzLVByb3ZhIiwNCiAgICAgICAgICBkZXNjcmljYW86ICJBY2Fib3UgZGUgZmF6ZXIgdW1hIHByb3ZhIGUgcXVlciB0ZXIgdW1hIGlkZWlhIHNvYnJlIGEgcG9zc8OtdmVsIG5vdGEgZGUgY29ydGU\/IE8gUmFua2luZyBkbyBFc3RyYXTDqWdpYSDDqSBhIHNvbHXDp8OjbyEgRmVpdG8gY29tIGJhc2Ugbm9zIGRhZG9zIGRvcyBub3Nzb3MgYWx1bm9zIGUgdGVuZG8gY29tbyByZWZlcsOqbmNpYSBvIEdhYmFyaXRvIEV4dHJhb2ZpY2lhbCBkb3Mgbm9zc29zIHByb2Zlc3NvcmVzIChhdMOpIG8gb2ZpY2lhbCBzZXIgZGl2dWxnYWRvKSwgdm9jw6ogc2FiZXLDoSBlbSBwcmltZWlyYSBtw6NvIHNlIGEgdmFnYSBlc3TDoSBwZXJ0byBvdSBuw6NvLiIgfSwNCiAgICAgICAgeyBuaXZlbDogImJhc2ljYSIsICAgaW1nOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL3Bhc3Nvcy9wcm92YS1jb21lbnRhZGEucG5nIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgdGl0dWxvOiAiUHJvdmEgQ29tZW50YWRhIiwNCiAgICAgICAgICBkZXNjcmljYW86ICJBY2Vzc2Ugb3MgY29tZW50w6FyaW9zIGRlIDEwMCUgZGFzIHF1ZXN0w7VlcyBkYSBzdWEgcHJvdmEgZGUgY29uY3Vyc28sIG5vIGRpYSBzZWd1aW50ZSDDoCBzdWEgcmVhbGl6YcOnw6NvLiBUb2RvcyBvcyBjb21lbnTDoXJpb3Mgc8OjbyBmZWl0b3MgcGVsb3Mgbm9zc29zIHByb2Zlc3NvcmVzIGVzcGVjaWFsaXN0YXMgZSBkaXNwb25pYmlsaXphZG9zIGVtIHVtIMO6bmljbyBQREYuIiB9LA0KICAgICAgICB7IG5pdmVsOiAicHJlbWl1bSIsICBpbWc6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvcGFzc29zL3NpbnRlc2UtZXN0cmF0ZWdpY2EucG5nIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICB0aXR1bG86ICJTw61udGVzZSBFc3RyYXTDqWdpY2EiLA0KICAgICAgICAgIGRlc2NyaWNhbzogIk8gcmVzdW1vIGRlIHbDqXNwZXJhIGRlIHByb3ZhIHF1ZSBmYWx0YXZhIG5hIHN1YSBwcmVwYXJhw6fDo28hIEFjZXNzZSBvcyBwcmluY2lwYWlzIGFzc3VudG9zIGRlIGNhZGEgZGlzY2lwbGluYSBlbSB1bSBQREYgY3VydG8gY29tIG9zIHRlbWFzIHF1ZW50ZXMgZXNxdWVtYXRpemFkb3MuIiB9LA0KICAgICAgICB7IG5pdmVsOiAicHJlbWl1bSIsICBpbWc6ICJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvcGFzc29zL2F0dWFsaXphY29lcy1qdXJpZGljYXMucG5nIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICB0aXR1bG86ICJBdHVhbGl6YcOnw7VlcyBRdWluemVuYWlzIiwNCiAgICAgICAgICBkZXNjcmljYW86ICJDbGlwcGluZyBkZSBub3TDrWNpYXMgZSBhdHVhbGl6YcOnw7VlcyBxdWluemVuYWlzIGRvIG11bmRvIGp1csOtZGljbyBwYXJhIHZvY8OqIGZpY2FyIHNhYmVuZG8gZGFzIHByaW5jaXBhaXMgYXR1YWxpemHDp8O1ZXMgZW0gcHJpbWVpcmEgbcOjby4iIH0sDQogICAgICAgIHsgbml2ZWw6ICJwcmVtaXVtIiwgIGltZzogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9wYXNzb3MvZGlyZXRvLWFvLXBvbnRvLnBuZyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgIHRpdHVsbzogIkRpcmV0byBhbyBQb250byIsDQogICAgICAgICAgZGVzY3JpY2FvOiAiVW0gbWF0ZXJpYWwgNzAlIG1lbm9yIGRvIHF1ZSBvcyBub3Nzb3MgY3Vyc29zIHJlZ3VsYXJlcywgbW9udGFkbyBhdHJhdsOpcyBkZSBlbmdlbmhhcmlhIHJldmVyc2EsIGUgZm9jYWRvIG5vIHF1ZSBtYWlzIMOpIGNvYnJhZG8gZW0gcHJvdmFzLiAqRGlzcG9uw612ZWwgYXR1YWxtZW50ZSBwYXJhIERlbGVnYWRvLCBQcm9jdXJhZG9yaWFzLCBNYWdpc3RyYXR1cmEgKEVOQU0pIGUgUHJvbW90b3JpYXMiIH0NCiAgICBdOw0KDQogICAgLy8gVGFncyBhIHBhcnRpciBkbyBuw612ZWwsIHVzYWRhcyB0YW50byBubyBjYWJlw6dhbGhvIHF1YW50byBubyBjb3JwbyBkbyBjYXJkDQogICAgZnVuY3Rpb24gbW9udGFyVGFncyAobml2ZWwpIHsNCg0KICAgICAgICByZXR1cm4gbml2ZWlzLnNsaWNlKG5pdmVpcy5pbmRleE9mKG5pdmVsKSkubWFwKGZ1bmN0aW9uIChuKSB7DQogICAgICAgICAgICByZXR1cm4gJzxsaSBjbGFzcz0iJyArIChuID09PSAnYmFzaWNhJyA\/ICcnIDogbikgKyAnIj4nICsgcm90dWxvTml2ZWxbbl0gKyAnPC9saT4nOw0KICAgICAgICB9KS5qb2luKCcnKTsNCg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIG1vbnRhclBhc3NvIChwYXNzbywgaW5kaWNlKSB7DQoNCiAgICAgICAgdmFyIGFiZXJ0byA9IGluZGljZSA9PT0gMDsNCiAgICAgICAgdmFyIHRhZ3MgPSBtb250YXJUYWdzKHBhc3NvLm5pdmVsKTsNCiAgICAgICAgdmFyIHRpdHVsbyA9IGVzY2FwYXJIdG1sKHBhc3NvLnRpdHVsbyk7DQoNCiAgICAgICAgcmV0dXJuICcnICsNCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjYXJkIHBhbmVsIHBhbmVsLWRlZmF1bHQiPicgKw0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciIgaWQ9ImhlYWRpbmdQYXNzb3MnICsgaW5kaWNlICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IicgKyAoYWJlcnRvID8gJycgOiAnY29sbGFwc2VkJykgKyAnIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiJyArDQogICAgICAgICAgICAgICAgICAgICAgICAnIGRhdGEtdGFyZ2V0PSIjY29sbGFwc2VQYXNzb3MnICsgaW5kaWNlICsgJyInICsNCiAgICAgICAgICAgICAgICAgICAgICAgICcgYXJpYS1leHBhbmRlZD0iJyArIChhYmVydG8gPyAndHJ1ZScgOiAnZmFsc2UnKSArICciIGFyaWEtY29udHJvbHM9ImNvbGxhcHNlJyArIGluZGljZSArICciPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJveFRpdHVsbyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0idGl0dWxvIj4nICsgdGl0dWxvICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzx1bCBjbGFzcz0iYm94VGFncyI+JyArIHRhZ3MgKyAnPC91bD4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpbWcgY2xhc3M9ImltZ0J1dHRvbiIgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLXBsdXMtd2hpdGUuc3ZnIiBhbHQ9IkFicmlyIGTDunZpZGEiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAnPC9idXR0b24+JyArDQogICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICc8ZGl2IGlkPSJjb2xsYXBzZVBhc3NvcycgKyBpbmRpY2UgKyAnIiBjbGFzcz0iY29sbGFwc2UgYm94Q29udGV1ZG8nICsgKGFiZXJ0byA\/ICcgaW4nIDogJycpICsgJyInICsNCiAgICAgICAgICAgICAgICAgICAgJyBhcmlhLWxhYmVsbGVkYnk9ImhlYWRpbmdQYXNzb3MnICsgaW5kaWNlICsgJyIgZGF0YS1wYXJlbnQ9IiNhY2NvcmRpb25QYXNzb3MiPicgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iY29udGFpbmVyIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8cD4nICsgZXNjYXBhckh0bWwocGFzc28uZGVzY3JpY2FvKSArICc8L3A+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0idGFnc0NvbnRldWRvIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4+RGlzcG9uw612ZWwgbm9zIHBsYW5vcyBkZSBhc3NpbmF0dXJhOjwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHVsPicgKyB0YWdzICsgJzwvdWw+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9IicgKyBwYXNzby5pbWcgKyAnIiBhbHQ9IicgKyB0aXR1bG8gKyAnIj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICc8L2Rpdj4nOw0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gbW9udGFyUGFzc29zICgpIHsNCg0KICAgICAgICAkKCcjYWNjb3JkaW9uUGFzc29zJykuaHRtbChwYXNzb3MubWFwKG1vbnRhclBhc3NvKS5qb2luKCcnKSk7DQoNCiAgICB9DQoNCiAgICAvLyBDb25jdXJzb3MgZG9zIFNvbmhvcw0KDQogICAgdmFyIGNvbmN1cnNvcyA9IFsNCiAgICAgICAgeyBub21lOiAiRFAgREYiLCAgICAgICAgICAgdmFnYXM6ICI2NyB2YWdhcyBwcmV2aXN0YXMiLCAgICBzYWxhcmlvOiAiUiQgMjIuNTg5LDU5IHBvciBtw6pzIiB9LA0KICAgICAgICB7IG5vbWU6ICJUSi1BTSIsICAgICAgICAgICB2YWdhczogIjE1IHZhZ2FzICsgQ1IiLCAgICAgICAgIHNhbGFyaW86ICJSZW11bmVyYcOnw6NvOiAzMi4wMDQsNjUvbcOqcyIgfSwNCiAgICAgICAgeyBub21lOiAiTVAgTUEiLCAgICAgICAgICAgdmFnYXM6ICIxNSB2YWdhcyBwcmV2aXN0YXMiLCAgICBzYWxhcmlvOiAiUiQgMjguODg0LDI0IHBvciBtw6pzIiB9LA0KICAgICAgICB7IG5vbWU6ICJDYXJ0w7NyaW9zIFRKIE1HIiwgdmFnYXM6ICIxLjM5NCB2YWdhcyBwcmV2aXN0YXMiLCBzYWxhcmlvOiAiUmVtdW5lcmHDp8OjbyB2YXJpw6F2ZWwiIH0sDQogICAgICAgIHsgbm9tZTogIlBDIERGIiwgICAgICAgICAgIHZhZ2FzOiAiNDAgdmFnYXMgKyA0MCBDUiIsICAgICAgc2FsYXJpbzogIlJlbXVuZXJhw6fDo286IFIkIDE5Ljc0NSw2My9tw6pzIiB9LA0KICAgICAgICB7IG5vbWU6ICJUSi1SUyIsICAgICAgICAgICB2YWdhczogIjQ1IHZhZ2FzIGEgZGVmaW5pciIsICAgIHNhbGFyaW86ICJSZW11bmVyYcOnw6NvOiBSJCAyOC45NTQsMjAvbcOqcyIgfSwNCiAgICAgICAgeyBub21lOiAiVFJGLTUiLCAgICAgICAgICAgdmFnYXM6ICI3MCBjYXJnb3MgdmFnb3MiLCAgICAgICBzYWxhcmlvOiAiUiQgMzIuMDA0LDY1IHBvciBtw6pzIiB9LA0KICAgICAgICB7IG5vbWU6ICJUUkYtMiIsICAgICAgICAgICB2YWdhczogIjMwIHZhZ2FzIiwgICAgICAgICAgICAgIHNhbGFyaW86ICJSJCAzNS44NDUsMjEgcG9yIG3DqnMiIH0sDQogICAgICAgIHsgbm9tZTogIlBDLUNFIiwgICAgICAgICAgIHZhZ2FzOiAiMTAwIHZhZ2FzIiwgICAgICAgICAgICAgc2FsYXJpbzogIlIkIDE2LjMxOSw2MCBwb3IgbcOqcyIgfSwNCiAgICAgICAgeyBub21lOiAiUEMtTUciLCAgICAgICAgICAgdmFnYXM6ICI1NCB2YWdhcyIsICAgICAgICAgICAgICBzYWxhcmlvOiAiUiQgMTQuOTMxLDMxIHBvciBtw6pzIiB9LA0KICAgICAgICB7IG5vbWU6ICJNUC1TUCIsICAgICAgICAgICB2YWdhczogIjc1IHZhZ2FzIiwgICAgICAgICAgICAgIHNhbGFyaW86ICJSJCAzMi4zNTAsMDUgcG9yIG3DqnMiIH0sDQogICAgICAgIHsgbm9tZTogIk1QLU1HIiwgICAgICAgICAgIHZhZ2FzOiAiNzAgdmFnYXMiLCAgICAgICAgICAgICAgc2FsYXJpbzogIlIkIDM0LjA1Miw5NSBwb3IgbcOqcyIgfSwNCiAgICAgICAgeyBub21lOiAiRGVsZWdhZG8gLSBQRiIsICAgdmFnYXM6ICIyMjIgdmFnYXMgcHJldmlzdGFzIiwgICBzYWxhcmlvOiAiUiQgMjYuMzAwL23DqnMiIH0NCiAgICBdOw0KDQogICAgLy8gQSBpbWFnZW0gc2VndWUgbyBub21lIGRvIGNvbmN1cnNvICgiRFAgREYiIC0+ICJkcC1kZi5wbmciKS4NCiAgICAvLyBTZSBhbGd1bSBhcnF1aXZvIGZ1Z2lyIGRvIHBhZHLDo28sIGJhc3RhIGRlY2xhcmFyICJpbWciIG5vIGl0ZW0uDQoNCiAgICBmdW5jdGlvbiBpbWFnZW1Db25jdXJzbyAoY29uY3Vyc28pIHsNCg0KICAgICAgICBpZiAoY29uY3Vyc28uaW1nKSB7DQogICAgICAgICAgICByZXR1cm4gY29uY3Vyc28uaW1nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHNsdWcgPSBjb25jdXJzby5ub21lDQogICAgICAgICAgICAudG9Mb3dlckNhc2UoKQ0KICAgICAgICAgICAgLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1x1MDMwMC1cdTAzNmZdL2csICcnKQ0KICAgICAgICAgICAgLnJlcGxhY2UoL1teYS16MC05XSsvZywgJy0nKQ0KICAgICAgICAgICAgLnJlcGxhY2UoL14tfC0kL2csICcnKTsNCg0KICAgICAgICByZXR1cm4gJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9jb25jdXJzb3MtZG9zLXNvbmhvcy8nICsgc2x1ZyArICcucG5nJzsNCg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIG1vbnRhckNvbmN1cnNvcyAoKSB7DQoNCiAgICAgICAgJCgnLmNvbmN1cnNvRG9zU29uaG9zIHVsJykuaHRtbCgNCg0KICAgICAgICAgICAgY29uY3Vyc29zLm1hcChmdW5jdGlvbiAoY29uY3Vyc28pIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgICAgICAgICAnPGxpIGNsYXNzPSJjb2wtc20tNCI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxmaWd1cmU+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aW1nIHNyYz0iJyArIGltYWdlbUNvbmN1cnNvKGNvbmN1cnNvKSArICciIGFsdD0iJyArIGVzY2FwYXJIdG1sKGNvbmN1cnNvLm5vbWUpICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvZmlndXJlPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hUZXh0b0NvbmN1cnNvIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxoMz4nICsgZXNjYXBhckh0bWwoY29uY3Vyc28ubm9tZSkgKyAnPC9oMz4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJ2YWdhcyI+JyArIGVzY2FwYXJIdG1sKGNvbmN1cnNvLnZhZ2FzKSArICc8L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0ic2FsYXJpbyI+JyArIGVzY2FwYXJIdG1sKGNvbmN1cnNvLnNhbGFyaW8pICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2xpPic7DQogICAgICAgICAgICB9KS5qb2luKCcnKQ0KDQogICAgICAgICk7DQoNCiAgICB9DQoNCiAgICAvLyBQbGFub3MgZGEgc2XDp8OjbyAjc2Vzc2FvUGxhdGludW0uIEFxdWkgbyBwcmXDp28gZXhpYmlkbyDDqSBvIHRvdGFsIGRvIHBsYW5vLA0KICAgIC8vIG7Do28gYSBwYXJjZWxhOiBvIG1lbnNhbCDDqSB1bWEgcmVjb3Jyw6puY2lhIGUgbyBzZW1lc3RyYWwgw6kgcGFyY2VsYWRvIGVtIDEyeC4NCg0KICAgIHZhciBwbGF0aW51bSA9IFsNCiAgICAgICAgeyBjaGF2ZTogJ3BsYXRpbnVtTWVuc2FsJywgICAgbm9tZTogJ1BsYXRpbnVtIG1lbnNhbCcsICAgIHVybDogJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc28vY29hY2hpbmctcGFyYS1jYXJyZWlyYXMtanVyaWRpY2FzLycsICAgICAgICAgICByb2RhcGU6ICdSZWNvcnLDqm5jaWEgbWVuc2FsJyB9LA0KICAgICAgICB7IGNoYXZlOiAncGxhdGludW1TZW1lc3RyYWwnLCBub21lOiAnUGxhdGludW0gc2VtZXN0cmFsJywgdXJsOiAnaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzby9jb2FjaGluZy1wYXJhLWNhcnJlaXJhcy1qdXJpZGljYXMtc2VtZXN0cmFsLycsIHJvZGFwZTogJ2VtIGF0w6kgMTIgdmV6ZXMgc2VtIGp1cm9zJyB9DQogICAgXTsNCg0KICAgIGZ1bmN0aW9uIG1vbnRhclBsYXRpbnVtICgpIHsNCg0KICAgICAgICAkKCcjc2Vzc2FvUGxhdGludW0gLmJveFBsYW5vc1BlcnNvbmFsaXphZG9zJykuaHRtbCgNCg0KICAgICAgICAgICAgcGxhdGludW0ubWFwKGZ1bmN0aW9uIChwbGFubykgew0KICAgICAgICAgICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAgICAgICAgICc8YSBocmVmPSInICsgcGxhbm8udXJsICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iaXRlbUFzc2luYXR1cmEiIGRhdGEtY2hhdmU9IicgKyBwbGFuby5jaGF2ZSArICciPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aDM+JyArIGVzY2FwYXJIdG1sKHBsYW5vLm5vbWUpICsgJzwvaDM+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJwcmVjb0RlIG5vbmUiPjwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InByZWNvUG9yIj48L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxwPicgKyBlc2NhcGFySHRtbChwbGFuby5yb2RhcGUpICsgJzwvcD4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzwvYT4nOw0KICAgICAgICAgICAgfSkuam9pbignJykNCg0KICAgICAgICApOw0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gcHJlZW5jaGVyUGxhdGludW0gKHByZWNvcykgew0KDQogICAgICAgIHBsYXRpbnVtLmZvckVhY2goZnVuY3Rpb24gKHBsYW5vKSB7DQoNCiAgICAgICAgICAgIHZhciBwcmVjbyA9IHByZWNvc1twbGFuby5jaGF2ZV07DQogICAgICAgICAgICB2YXIgaXRlbSA9ICQoJyNzZXNzYW9QbGF0aW51bSBbZGF0YS1jaGF2ZT0iJyArIHBsYW5vLmNoYXZlICsgJyJdJyk7DQoNCiAgICAgICAgICAgIGlmICghcHJlY28gfHwgIXByZWNvLmNhcnRhb1RvdGFsKSB7DQogICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdTZW0gcHJlw6dvIHBhcmEgIicgKyBwbGFuby5jaGF2ZSArICciLicpOw0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaXRlbS5maW5kKCcucHJlY29Qb3InKS50ZXh0KG1vZWRhKHByZWNvLmNhcnRhb1RvdGFsKSk7DQoNCiAgICAgICAgICAgIHZhciBwcmVjb0RlID0gaXRlbS5maW5kKCcucHJlY29EZScpOw0KDQogICAgICAgICAgICBpZiAocHJlY28uY2FydGFvVG90YWxEZSA+IHByZWNvLmNhcnRhb1RvdGFsKSB7DQogICAgICAgICAgICAgICAgcHJlY29EZS50ZXh0KG1vZWRhKHByZWNvLmNhcnRhb1RvdGFsRGUpKS5yZW1vdmVDbGFzcygnbm9uZScpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBwcmVjb0RlLmFkZENsYXNzKCdub25lJyk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgfSk7DQoNCiAgICB9DQoNCiAgICAvLyBQcmVlbmNoZSBvcyBwcmXDp29zIGRhcyBhc3NpbmF0dXJhcyBkZXBvaXMgcXVlIGEgQVBJIHJlc3BvbmRlDQoNCiAgICBmdW5jdGlvbiBwcmVlbmNoZXJDYXJyZWlyYXMgKHByZWNvcykgew0KDQogICAgICAgIGNhcnJlaXJhcy5mb3JFYWNoKGZ1bmN0aW9uIChjYXJyZWlyYSkgew0KDQogICAgICAgICAgICBjYXJyZWlyYS5hc3NpbmF0dXJhcy5mb3JFYWNoKGZ1bmN0aW9uIChhc3NpbmF0dXJhKSB7DQoNCiAgICAgICAgICAgICAgICB2YXIgcHJlY28gPSBwcmVjb3NbYXNzaW5hdHVyYS5jaGF2ZV07DQogICAgICAgICAgICAgICAgdmFyIGJveCA9ICQoJyMnICsgY2FycmVpcmEuaWQgKyAnIFtkYXRhLWNoYXZlPSInICsgYXNzaW5hdHVyYS5jaGF2ZSArICciXScpOw0KDQogICAgICAgICAgICAgICAgaWYgKCFwcmVjbyB8fCAhcHJlY28uY2FydGFvKSB7DQogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignU2VtIHByZcOnbyBwYXJhICInICsgYXNzaW5hdHVyYS5jaGF2ZSArICciLicpOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgYm94LmZpbmQoJy5wcmVjb1BvcicpLnRleHQoJzEyeCAnICsgbW9lZGEocHJlY28uY2FydGFvKSk7DQoNCiAgICAgICAgICAgICAgICAvLyAiRGUiIHJpc2NhZG8gZSB0YWcgZGUgZWNvbm9taWEgc8OzIGV4aXN0ZW0gcXVhbmRvIGjDoSBsb3RlIHByb21vY2lvbmFsDQogICAgICAgICAgICAgICAgdmFyIHByZWNvRGUgPSBib3guZmluZCgnLnByZWNvRGUnKTsNCg0KICAgICAgICAgICAgICAgIGlmIChwcmVjby5jYXJ0YW9EZSA+IDApIHsNCiAgICAgICAgICAgICAgICAgICAgcHJlY29EZS50ZXh0KCcxMnggJyArIG1vZWRhKHByZWNvLmNhcnRhb0RlKSkucmVtb3ZlQ2xhc3MoJ25vbmUnKTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBwcmVjb0RlLmFkZENsYXNzKCdub25lJyk7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgaWYgKHByZWNvLmVjb25vbWl6ZSA+IDApIHsNCiAgICAgICAgICAgICAgICAgICAgYm94LmZpbmQoJy5ib3hFY29ub21pemUnKS5odG1sKCcnICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hJbnRlcm5vIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InRleHRvIj5FY29ub21pemUgJyArIG1vZWRhKHByZWNvLmVjb25vbWl6ZSkgKyAnPC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0icG9yY2VudGFnZW0iPicgKyBwcmVjby5wb3JjZW50YWdlbSArICclIE9GRjwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nKTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBib3guZmluZCgnLmJveEVjb25vbWl6ZScpLmVtcHR5KCk7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICB9KTsNCg0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHByZWVuY2hlckNvbXBhcmFjYW8gKHByZWNvcykgew0KDQogICAgICAgIE9iamVjdC5rZXlzKGNvbXBhcmFjYW8pLmZvckVhY2goZnVuY3Rpb24gKHBsYW5vKSB7DQoNCiAgICAgICAgICAgIHZhciBjYXJkID0gJCgnI2JveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyBbZGF0YS1wbGFubz0iJyArIHBsYW5vICsgJyJdJyk7DQoNCiAgICAgICAgICAgIC8vIE1lbm9yIHByZcOnbyBlbnRyZSBhcyBjYXJyZWlyYXMgZGVzc2UgbsOtdmVsDQogICAgICAgICAgICB2YXIgY2FuZGlkYXRvcyA9IGNvbXBhcmFjYW9bcGxhbm9dDQogICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoY2hhdmUpIHsgcmV0dXJuIHByZWNvc1tjaGF2ZV07IH0pDQogICAgICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAocHJlY28pIHsgcmV0dXJuIHByZWNvICYmIHByZWNvLmNhcnRhbyA+IDA7IH0pOw0KDQogICAgICAgICAgICBpZiAoIWNhbmRpZGF0b3MubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdTZW0gcHJlw6dvIGRpc3BvbsOtdmVsIHBhcmEgbyBwbGFubyAiJyArIHBsYW5vICsgJyIuJyk7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgbWFpc0JhcmF0byA9IGNhbmRpZGF0b3MucmVkdWNlKGZ1bmN0aW9uIChtZW5vciwgYXR1YWwpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gYXR1YWwuY2FydGFvIDwgbWVub3IuY2FydGFvID8gYXR1YWwgOiBtZW5vcjsNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBjYXJkLmZpbmQoJy5wcmVjb1BvcicpLnRleHQoJzEyeCAnICsgbW9lZGEobWFpc0JhcmF0by5jYXJ0YW8pKTsNCg0KICAgICAgICAgICAgLy8gTyAiZGUiIHPDsyBhcGFyZWNlIHF1YW5kbyBleGlzdGUgbG90ZSBwcm9tb2Npb25hbA0KICAgICAgICAgICAgdmFyIHByZWNvRGUgPSBjYXJkLmZpbmQoJy5wcmVjb0RlJyk7DQoNCiAgICAgICAgICAgIGlmIChtYWlzQmFyYXRvLmNhcnRhb0RlID4gMCkgew0KICAgICAgICAgICAgICAgIHByZWNvRGUudGV4dCgnMTJ4ICcgKyBtb2VkYShtYWlzQmFyYXRvLmNhcnRhb0RlKSkucmVtb3ZlQ2xhc3MoJ25vbmUnKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcHJlY29EZS5hZGRDbGFzcygnbm9uZScpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0pOw0KDQogICAgfQ0KDQogICAgdmFyIGNoYXZlcyA9IE9iamVjdC5rZXlzKHByb2R1dG9zKTsNCg0KICAgIGxldCByZXN1bHRBc3NpbmF0dXJhcyA9IFByb21pc2UuYWxsKGNoYXZlcy5tYXAoZnVuY3Rpb24gKGNoYXZlKSB7DQogICAgICAgICAgICByZXR1cm4gY2FycmVnYXJQcmVjb3MocHJvZHV0b3NbY2hhdmVdLCBWRVJUSUNBTCk7DQogICAgICAgIH0pKQ0KICAgICAgICAudGhlbigobGlzdGEpID0+IHsNCg0KICAgICAgICAgICAgLy8gVHJhbnNmb3JtYSBvIGFycmF5IGRlIHJlc3Bvc3RhcyBlbSB1bSBvYmpldG86IHsganVyaWRpY2FCYXNpY2ExQW5vOiB7Li4ufSwgLi4uIH0NCiAgICAgICAgICAgIHZhciBwcmVjb3MgPSB7fTsNCg0KICAgICAgICAgICAgY2hhdmVzLmZvckVhY2goZnVuY3Rpb24gKGNoYXZlLCBpKSB7DQogICAgICAgICAgICAgICAgcHJlY29zW2NoYXZlXSA9IGxpc3RhW2ldOw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIC8vIEpvZ2Egb3MgcHJlw6dvcyBuYXMgc2XDp8O1ZXMgZGEgcMOhZ2luYQ0KICAgICAgICAgICAgcHJlZW5jaGVyQ29tcGFyYWNhbyhwcmVjb3MpOw0KICAgICAgICAgICAgcHJlZW5jaGVyQ2FycmVpcmFzKHByZWNvcyk7DQogICAgICAgICAgICBwcmVlbmNoZXJQbGF0aW51bShwcmVjb3MpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJlY29zOw0KDQogICAgICAgIH0pLnRoZW4oKHByZWNvcykgPT4gew0KDQogICAgICAgICAgICByZXR1cm4gWw0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgInRpdHVsbyI6ICJBc3NpbmF0dXJhIEp1csOtZGljYSIsDQogICAgICAgICAgICAgICAgICAgICJzdWJ0aXR1bG8iOiAiQWJyYW5nZSBjdXJzb3MgcGFyYSB0b2RhcyBhcyBjYXJyZWlyYXMsIGluY2x1c2l2ZSBBbmFsaXN0YXMgZGUgVHJpYnVuYWlzIGNvbSBleGlnw6puY2lhIGRlIGZvcm1hw6fDo28gZW0gRGlyZWl0by4iLA0KICAgICAgICAgICAgICAgICAgICAiaWQiOiAiYm94QXNzaW5hdHVyYUp1cmlkaWNhIiwNCiAgICAgICAgICAgICAgICAgICAgIm1haXNDb21wbGV0YSI6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICJsb3RlcyI6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgIFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhdGl2byI6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhc3NpbmF0dXJhcyI6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub21lIjogIkp1csOtZGljYSBCw6FzaWNhPGJyPiAxIGFubyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlc3BlY2lhbCI6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IFtdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWNvbm9taXplIjogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBvcmNlbnRhZ2VtIjogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNhcnRhbyI6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzby9hc3NpbmF0dXJhLWp1cmlkaWNhLWJhc2ljYS0xLWFubyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlY29fZGUiOiBwcmVjb3MuanVyaWRpY2FCYXNpY2ExQW5vLmNhcnRhb0RlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWNvX3BvciI6IHByZWNvcy5qdXJpZGljYUJhc2ljYTFBbm8uY2FydGFvLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcmNlbGFzIjogMTIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVzZXMiOiAxMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub21lIjogIkp1csOtZGljYSBCw6FzaWNhPGJyPiAyIGFub3MiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXNwZWNpYWwiOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiBbXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVjb25vbWl6ZSI6IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3JjZW50YWdlbSI6IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjYXJ0YW8iOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc28vYXNzaW5hdHVyYS1qdXJpZGljYS1iYXNpY2EtMi1hbm9zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjb19kZSI6IHByZWNvcy5qdXJpZGljYUJhc2ljYTJBbm9zLmNhcnRhb0RlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWNvX3BvciI6IHByZWNvcy5qdXJpZGljYUJhc2ljYTJBbm9zLmNhcnRhbywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJjZWxhcyI6IDEyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lc2VzIjogMTINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9tZSI6ICJKdXLDrWRpY2EgUHJlbWl1bTxicj4gMSBhbm8iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXNwZWNpYWwiOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IFtdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZWNvbm9taXplIjogcHJlY29zLmp1cmlkaWNhUHJlbWl1bTFBbm8uZWNvbm9taXplLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicG9yY2VudGFnZW0iOiBwcmVjb3MuanVyaWRpY2FQcmVtaXVtMUFuby5wb3JjZW50YWdlbSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNhcnRhbyI6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzby9hc3NpbmF0dXJhLWp1cmlkaWNhLTEtYW5vIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjb19kZSI6IHByZWNvcy5qdXJpZGljYVByZW1pdW0xQW5vLmNhcnRhb0RlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWNvX3BvciI6IHByZWNvcy5qdXJpZGljYVByZW1pdW0xQW5vLmNhcnRhbywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJjZWxhcyI6IDEyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lc2VzIjogMTINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9tZSI6ICJKdXLDrWRpY2EgUHJlbWl1bTxicj4gMiBhbm9zIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVzcGVjaWFsIjogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiBbXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVjb25vbWl6ZSI6IHByZWNvcy5qdXJpZGljYVByZW1pdW0yQW5vcy5lY29ub21pemUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3JjZW50YWdlbSI6IHByZWNvcy5qdXJpZGljYVByZW1pdW0yQW5vcy5wb3JjZW50YWdlbSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNhcnRhbyI6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzby9hc3NpbmF0dXJhLWp1cmlkaWNhLTItYW5vcyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlY29fZGUiOiBwcmVjb3MuanVyaWRpY2FQcmVtaXVtMkFub3MuY2FydGFvRGUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlY29fcG9yIjogcHJlY29zLmp1cmlkaWNhUHJlbWl1bTJBbm9zLmNhcnRhbywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJjZWxhcyI6IDEyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lc2VzIjogMTINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIF0NCiAgICAgICAgICAgICAgICAgICAgXQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF07DQoNCiAgICAgICAgfSkudGhlbigoZGF0YSkgPT4gew0KICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgIH0pOw0KDQogICAgLy8gTW9uZXkgZm9ybWF0IGNhcmQNCg0KICAgIGZ1bmN0aW9uIGZvcm1hdENhcmQgKHByaWNlKSB7DQogICAgICAgIHZhciBwYXJjZWxhID0gKHByaWNlLnRvRml4ZWQoMikgLyAxMDApIC8gMTINCiAgICAgICAgcGFyY2VsYSA9IHBhcmNlbGEudG9Mb2NhbGVTdHJpbmcoJ3B0LWJyJyx7c3R5bGU6ICdjdXJyZW5jeScsIGN1cnJlbmN5OiAnQlJMJ30pOw0KICAgICAgICByZXR1cm4gcGFyY2VsYQ0KICAgIH0NCg0KICAgIC8vIFNjcm9sbCBoZWFkZXINCg0KICAgIGlmICgkKGRvY3VtZW50KS5zY3JvbGxUb3AoKSA+IDUwKSB7DQogICAgICAgICQoJy5jb3VudGRvd24nKS5hZGRDbGFzcygnc2Nyb2xsJykNCiAgICAgICAgJCgnLmhlYWRlckxhbmRpbmcnKS5hZGRDbGFzcygnc2Nyb2xsJykNCiAgICB9IGVsc2Ugew0KICAgICAgICAkKCcuY291bnRkb3duJykucmVtb3ZlQ2xhc3MoJ3Njcm9sbCcpDQogICAgICAgICQoJy5oZWFkZXJMYW5kaW5nJykucmVtb3ZlQ2xhc3MoJ3Njcm9sbCcpDQogICAgfQ0KDQogICAgJCh3aW5kb3cpLnNjcm9sbChmdW5jdGlvbigpIHsNCiAgICAgICAgaWYgKCQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpID4gNTApIHsNCiAgICAgICAgICAgICQoJy5jb3VudGRvd24nKS5hZGRDbGFzcygnc2Nyb2xsJykNCiAgICAgICAgICAgICQoJy5oZWFkZXJMYW5kaW5nJykuYWRkQ2xhc3MoJ3Njcm9sbCcpDQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkKCcuY291bnRkb3duJykucmVtb3ZlQ2xhc3MoJ3Njcm9sbCcpDQogICAgICAgICAgICAkKCcuaGVhZGVyTGFuZGluZycpLnJlbW92ZUNsYXNzKCdzY3JvbGwnKQ0KICAgICAgICB9DQogICAgfSkNCg0KICAgIC8vIEJhbm5lciBQcmluY2lwYWwNCg0KICAgICQoJy5iYW5uZXJQcmluY2lwYWwgLnBsYW5vc0Jhbm5lciAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJubyAuYm94UHJlY28gYScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgICAgICAkKCJodG1sLCBib2R5IikuYW5pbWF0ZSh7DQogICAgICAgICAgICBzY3JvbGxUb3A6ICQoJyNib3hBc3NpbmF0dXJhSnVyaWRpY2EnKS5vZmZzZXQoKS50b3AgLSA3MA0KICAgICAgICB9LCA1MDApOw0KICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgJCgnI2JveEFzc2luYXR1cmFKdXJpZGljYScpLmZpbmQoJ2J1dHRvbi5jb2xsYXBzZWQnKS5jbGljaygpDQogICAgICAgIH0sIDE1MDApDQogICAgfSkNCg0KICAgIC8vIENvbXBhcmHDp8Ojbw0KDQogICAgbW9udGFyTGlzdGFzQ29tcGFyYWNhbygpOw0KDQogICAgJCgnI3RpcG9Bc3NpbmF0dXJhMScpLm9uKCdpbml0JywgZnVuY3Rpb24gKGV2ZW50LCBzbGljaykgew0KICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdvY3VsdG8nKQ0KICAgIH0pOw0KDQogICAgJCgnLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAubGlzdGFDb21wYXJhY2FvJykuZWFjaChmdW5jdGlvbigpew0KDQogICAgICAgICQoJyMnICsgJCh0aGlzKS5hdHRyKCdpZCcpKS5zbGljayh7DQogICAgICAgICAgICBkb3RzOiBmYWxzZSwNCiAgICAgICAgICAgIGluZmluaXRlOiBmYWxzZSwNCiAgICAgICAgICAgIHNwZWVkOiAzMDAsDQogICAgICAgICAgICBhcnJvd3M6IGZhbHNlLA0KICAgICAgICAgICAgYXV0b3BsYXk6IGZhbHNlLA0KICAgICAgICAgICAgc2xpZGVzVG9TaG93OiAzLA0KICAgICAgICAgICAgcmVzcG9uc2l2ZTogWw0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgYnJlYWtwb2ludDogMTI1MCwNCiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3M6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogMiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlck1vZGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXJQYWRkaW5nOiAnMzBweCcsDQogICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsU2xpZGU6IDINCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50OiA3NjgsDQogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzOiB7DQogICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Nob3c6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXJNb2RlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyUGFkZGluZzogJzIwcHgnLA0KICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFNsaWRlOiAwDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICBdDQogICAgICAgIH0pOw0KDQogICAgfSkNCg0KICAgICQoJy5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFNlbGV0b3JQbGFub3MgLnN3aXRjaFBsYW5vIGlucHV0Jykub24oJ2NoYW5nZScsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgJCgnLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAubGlzdGFDb21wYXJhY2FvJykudG9nZ2xlQ2xhc3MoJ29jdWx0bycpDQogICAgfSkNCg0KICAgICQoJy5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFNlbGV0b3JQbGFub3MgLnRpdHVsb1BsYW5vLmJvdGFvMUFubycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgICAgICAkKCcuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hTZWxldG9yUGxhbm9zIC5zd2l0Y2hQbGFubyBpbnB1dCcpLnByb3AoJ2NoZWNrZWQnLCBmYWxzZSkNCiAgICAgICAgJCgnI3RpcG9Bc3NpbmF0dXJhMCcpLnJlbW92ZUNsYXNzKCdvY3VsdG8nKQ0KICAgICAgICAkKCcjdGlwb0Fzc2luYXR1cmExJykuYWRkQ2xhc3MoJ29jdWx0bycpDQogICAgfSkNCg0KICAgICQoJy5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFNlbGV0b3JQbGFub3MgLnRpdHVsb1BsYW5vLmJvdGFvMkFub3MnKS5vbignY2xpY2snLCBmdW5jdGlvbigpew0KICAgICAgICAkKCcuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hTZWxldG9yUGxhbm9zIC5zd2l0Y2hQbGFubyBpbnB1dCcpLnByb3AoJ2NoZWNrZWQnLCB0cnVlKQ0KICAgICAgICAkKCcjdGlwb0Fzc2luYXR1cmExJykucmVtb3ZlQ2xhc3MoJ29jdWx0bycpDQogICAgICAgICQoJyN0aXBvQXNzaW5hdHVyYTAnKS5hZGRDbGFzcygnb2N1bHRvJykNCiAgICB9KQ0KDQogICAgJCgnLmJveENvbXBhcmFjYW9Bc3NpbmF0dXJhcyAuYm94UGxhbm9zQ29tcGFyYWNhbyAuYm94SXRlbSAuYm94SXRlbUludGVybm8gLmJveFByZWNvIGEnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICAgICAgJCgiaHRtbCwgYm9keSIpLmFuaW1hdGUoew0KICAgICAgICAgICAgc2Nyb2xsVG9wOiAkKCcjJyArICQodGhpcykuYXR0cignbGluaycpKS5vZmZzZXQoKS50b3AgLSA1MA0KICAgICAgICB9LCA1MDApOw0KICAgIH0pDQoNCiAgICAkKCcuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyB1bCBsaSAuYm94SW5mbyAuaW1nSW5mbycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgICAgICAkKCcuYm94Q29tcGFyYWNhb0Fzc2luYXR1cmFzIC5ib3hQbGFub3NDb21wYXJhY2FvIC5ib3hJdGVtIC5ib3hJdGVtSW50ZXJubyB1bCBsaSAuYm94SW5mbyAubW9kYWxJbmZvJykuZWFjaChmdW5jdGlvbigpew0KICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnbm9uZScpDQogICAgICAgIH0pDQogICAgICAgICQodGhpcykuc2libGluZ3MoJy5tb2RhbEluZm8nKS5yZW1vdmVDbGFzcygnbm9uZScpDQogICAgfSkNCg0KICAgICQoJy5ib3hDb21wYXJhY2FvQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIHVsIGxpIC5ib3hJbmZvIC5tb2RhbEluZm8gLmZlY2hhUG9wdXAnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5hZGRDbGFzcygnbm9uZScpDQogICAgfSkNCg0KICAgIC8vIENhcnJlaXJhcyBFc3BlY8OtZmljYXMNCg0KICAgIG1vbnRhckNhcnJlaXJhc0VzcGVjaWZpY2FzKCk7DQogICAgbW9udGFyUGxhdGludW0oKTsNCg0KICAgICQoJy5jYXJyZWlyYXNFc3BlY2lmaWNhcyAjYWNjb3JkaW9uQ2FycmVpcmFzRXNwZWNpZmljYXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hMaW5rU2FpYmEgLmxpbmtTYWliYScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgICAgICAkKCJodG1sLCBib2R5IikuYW5pbWF0ZSh7DQogICAgICAgICAgICBzY3JvbGxUb3A6ICQoJyNwYXNzb3NBcHJvdmFjYW8nKS5vZmZzZXQoKS50b3AgLSAzMA0KICAgICAgICB9LCA1MDApOw0KICAgIH0pDQoNCiAgICAvLyBEZXN0YXF1ZXMNCg0KICAgICQoJy5ib3hEZXN0YXF1ZXMgdWwnKS5zbGljayh7DQogICAgICAgIGRvdHM6IHRydWUsDQogICAgICAgIGluZmluaXRlOiBmYWxzZSwNCiAgICAgICAgc3BlZWQ6IDMwMCwNCiAgICAgICAgYXJyb3dzOiB0cnVlLA0KICAgICAgICBhdXRvcGxheTogZmFsc2UsDQogICAgICAgIHNsaWRlc1RvU2hvdzogMSwNCiAgICAgICAgbmV4dEFycm93OiAnPGRpdiBjbGFzcz0icHJveGltbyBzZXRhQmFubmVyIj48aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy9hc3NldHMvaW1nL2ljb25lcy9pYy1zZXRhLWJhbm5lci5zdmciIC8+PC9kaXY+JywNCiAgICAgICAgcHJldkFycm93OiAnPGRpdiBjbGFzcz0iYW50ZXJpb3Igc2V0YUJhbm5lciI+PGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtc2V0YS1iYW5uZXIuc3ZnIiAvPjwvZGl2PicsDQogICAgICAgIHJlc3BvbnNpdmU6IFsNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBicmVha3BvaW50OiAxMzUwLA0KICAgICAgICAgICAgICAgIHNldHRpbmdzOiB7DQogICAgICAgICAgICAgICAgICAgIGFycm93czogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIF0NCiAgICB9KTsNCg0KICAgICQoJy5ib3hEZXN0YXF1ZXMgaW1nLmNvbVZpZGVvJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKXsNCiAgICAgICAgJCgnI21vZGFsVmlkZW8nKS5zbGlkZVRvZ2dsZSgpOw0KICAgICAgICAkKCcjbW9kYWxWaWRlbyAuYm94RmxleCAuYm94VmlkZW8gaWZyYW1lJykuYXR0cignc3JjJywgJCh0aGlzKS5hdHRyKCd2aWRlbycpKQ0KICAgIH0pDQoNCiAgICAvLyBDb25jdXJzb3MgZG9zIFNvbmhvcw0KDQogICAgbW9udGFyQ29uY3Vyc29zKCk7DQoNCiAgICAkKCcuY29uY3Vyc29Eb3NTb25ob3MgdWwnKS5zbGljayh7DQogICAgICAgIGRvdHM6IGZhbHNlLA0KICAgICAgICBpbmZpbml0ZTogZmFsc2UsDQogICAgICAgIHNwZWVkOiAzMDAsDQogICAgICAgIGFycm93czogdHJ1ZSwNCiAgICAgICAgYXV0b3BsYXk6IGZhbHNlLA0KICAgICAgICBzbGlkZXNUb1Nob3c6IDMsDQogICAgICAgIG5leHRBcnJvdzogJzxkaXYgY2xhc3M9InByb3hpbW8gc2V0YUJhbm5lciI+PGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtc2V0YS1iYW5uZXIuc3ZnIiAvPjwvZGl2PicsDQogICAgICAgIHByZXZBcnJvdzogJzxkaXYgY2xhc3M9ImFudGVyaW9yIHNldGFCYW5uZXIiPjxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLXNldGEtYmFubmVyLnN2ZyIgLz48L2Rpdj4nLA0KICAgICAgICByZXNwb25zaXZlOiBbDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgYnJlYWtwb2ludDogMTAwMCwNCiAgICAgICAgICAgICAgICBzZXR0aW5nczogew0KICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Nob3c6IDINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIGJyZWFrcG9pbnQ6IDYwMCwNCiAgICAgICAgICAgICAgICBzZXR0aW5nczogew0KICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Nob3c6IDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIF0NCiAgICB9KTsNCg0KICAgIC8vIFZhZ2FzIFByZXZpc3Rhcw0KDQogICAgJCgnLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YU1lbnVzIHVsIGxpJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKCkgew0KDQogICAgICAgIC8vIFJlc2V0YSBvIE1lbnUNCiAgICAgICAgJCgnLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YU1lbnVzIHVsIGxpJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpDQogICAgICAgIH0pDQoNCiAgICAgICAgLy8gU2V0YSBvIG1lbnUgYXR1YWwgY29tbyBhY3RpdmUNCiAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnYWN0aXZlJykNCg0KICAgICAgICAvLyBSZXNldGEgb3MgQ29udGXDumRvcw0KICAgICAgICAkKCcucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhQ29udGV1ZG9zIC5ib3hJdGVtQ29udGV1ZG8nKS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnbm9uZScpDQogICAgICAgIH0pDQoNCiAgICAgICAgLy8gTW9zdHJhIG8gY29udGXDumRvIHNlbGVjaW9uYWRvDQogICAgICAgICQoJyMnICsgJCh0aGlzKS5hdHRyKCdjb250ZXVkbycpKS5yZW1vdmVDbGFzcygnbm9uZScpDQoNCiAgICB9KQ0KDQogICAgLy8gUmVzdWx0YWRvcw0KDQogICAgJC5mbi5pc0luVmlld3BvcnQgPSBmdW5jdGlvbigpIHsNCiAgICAgICAgdmFyIGVsZW1lbnRUb3AgPSAkKHRoaXMpLm9mZnNldCgpLnRvcDsNCiAgICAgICAgdmFyIGVsZW1lbnRCb3R0b20gPSBlbGVtZW50VG9wICsgJCh0aGlzKS5vdXRlckhlaWdodCgpOw0KICAgICAgICB2YXIgdmlld3BvcnRUb3AgPSAkKHdpbmRvdykuc2Nyb2xsVG9wKCkgKyAxMDA7DQogICAgICAgIHZhciB2aWV3cG9ydEJvdHRvbSA9IHZpZXdwb3J0VG9wICsgJCh3aW5kb3cpLmhlaWdodCgpOw0KICAgICAgICByZXR1cm4gZWxlbWVudEJvdHRvbSA+IHZpZXdwb3J0VG9wICYmIGVsZW1lbnRUb3AgPCB2aWV3cG9ydEJvdHRvbTsNCiAgICB9DQoNCiAgICAkKHdpbmRvdykub24oJ3Jlc2l6ZSBzY3JvbGwnLCBmdW5jdGlvbigpIHsNCg0KICAgICAgICB2YXIgY2hhcnRTaXplID0gJzgwJzsNCg0KICAgICAgICAkKCcuZWFzeS1waWUtY2hhcnQnKS5lYWNoKGZ1bmN0aW9uKCl7DQoNCiAgICAgICAgICAgIGlmICgkKHRoaXMpLmlzSW5WaWV3cG9ydCgpKSB7DQoNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmVhc3lQaWVDaGFydCh7DQogICAgICAgICAgICAgICAgICAgIGFuaW1hdGU6IDMwMDAsDQogICAgICAgICAgICAgICAgICAgIHNjYWxlQ29sb3I6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBsaW5lV2lkdGg6IDEyLA0KICAgICAgICAgICAgICAgICAgICBsaW5lQ2FwOiAnYnV0dCcsDQogICAgICAgICAgICAgICAgICAgIHNpemU6IGNoYXJ0U2l6ZSwNCiAgICAgICAgICAgICAgICAgICAgdHJhY2tDb2xvcjogJyM3RDUyMDAnLA0KICAgICAgICAgICAgICAgICAgICBiYXJDb2xvcjogJyNGMDlDMDAnICAgIA0KICAgICAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAgICAgJCh0aGlzKS5jc3Moew0KICAgICAgICAgICAgICAgICAgICB3aWR0aCA6IGNoYXJ0U2l6ZSArICdweCcsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodCA6IGNoYXJ0U2l6ZSArICdweCcNCiAgICAgICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnLnBlcmNlbnQnKS5jc3Moew0KICAgICAgICAgICAgICAgICAgICAibGluZS1oZWlnaHQiOiBjaGFydFNpemUgKyAncHgnDQogICAgICAgICAgICAgICAgfSkNCg0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0pDQoNCiAgICB9KQ0KDQogICAgbW9udGFyUmVzdWx0YWRvcygpOw0KDQogICAgdmFsaWRhUmVzdWx0YWRvcygpOw0KDQogICAgJCh3aW5kb3cpLm9uKCdyZXNpemUnLCBmdW5jdGlvbigpIHsNCiAgICAgICAgdmFsaWRhUmVzdWx0YWRvcygpOw0KICAgIH0pDQoNCiAgICAvLyBQYXNzb3MNCg0KICAgIG1vbnRhclBhc3NvcygpOw0KICAgIG1vbnRhclByb2Zlc3NvcmVzKCk7DQoNCiAgICAkKCcucGFzc29zQXByb3ZhY2FvIC5ib3hHZXJhbCAuYm94TWVudSAuYm94SXRlbScpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHsNCg0KICAgICAgICAkKCcucGFzc29zQXByb3ZhY2FvIC5ib3hHZXJhbCAuYm94TWVudSAuYm94SXRlbScpLmVhY2goZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ2F0aXZvJykNCiAgICAgICAgfSkNCg0KICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdhdGl2bycpDQoNCiAgICAgICAgJCgnLnBhc3Nvc0Fwcm92YWNhbyAuYm94R2VyYWwgZmlndXJlJykuZWFjaChmdW5jdGlvbigpew0KICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnbm9uZScpDQogICAgICAgIH0pDQoNCiAgICAgICAgJCgnI2ltYWdlbScgKyAkKHRoaXMpLmF0dHIoJ2ltYWdlbScpKS5yZW1vdmVDbGFzcygnbm9uZScpDQoNCiAgICB9KQ0KDQogICAgLyogRmVjaGEgTW9kYWwgZGUgVsOtZGVvICovDQoNCiAgICAkKCcjbW9kYWxWaWRlbyAuYm94RmxleCAuYm94VmlkZW8gLmZlY2hhVmlkZW8nKS5vbignY2xpY2snLCBmdW5jdGlvbigpew0KICAgICAgICAkKCcjbW9kYWxWaWRlbycpLnNsaWRlVG9nZ2xlKCk7DQogICAgICAgICQoJyNtb2RhbFZpZGVvIC5ib3hGbGV4IC5ib3hWaWRlbyBpZnJhbWUnKS5hdHRyKCdzcmMnLCAnJyk7DQogICAgICAgICQoJy5jb21wYXJlQXNzaW5hdHVyYXMgLmJveFBsYW5vc0NvbXBhcmFjYW8gLmJveEl0ZW0gLmJveEl0ZW1JbnRlcm5vIHVsIGxpIC5ib3hJbmZvIC5tb2RhbEluZm8nKS5lYWNoKGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdub25lJykNCiAgICAgICAgfSkNCiAgICB9KQ0KDQogICAgLy8gRGVwb2ltZW50b3MNCg0KICAgICQoJy5kZXBvaW1lbnRvc0Fwcm92YWRvcyAudmVyTWFpc0RlcG9pbWVudG9zJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKXsNCiAgICAgICAgJCgnLmRlcG9pbWVudG9zQXByb3ZhZG9zIC52ZXJNYWlzRGVwb2ltZW50b3MnKS5yZW1vdmUoKTsNCiAgICAgICAgJCgnLmRlcG9pbWVudG9zQXByb3ZhZG9zJykuY3NzKCdtYXgtaGVpZ2h0JywgJ2luaXRpYWwnKQ0KICAgIH0pDQoNCiAgICAkKCcuZGVwb2ltZW50b3NBcHJvdmFkb3MgLnZlck1haXNEZXBvaW1lbnRvcyBzcGFuJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKXsNCiAgICAgICAgJCgnLmRlcG9pbWVudG9zQXByb3ZhZG9zIC52ZXJNYWlzRGVwb2ltZW50b3MnKS5yZW1vdmUoKTsNCiAgICAgICAgJCgnLmRlcG9pbWVudG9zQXByb3ZhZG9zJykuY3NzKCdtYXgtaGVpZ2h0JywgJ2luaXRpYWwnKQ0KICAgIH0pDQoNCn0pDQoNCmZ1bmN0aW9uIHZhbGlkYVJlc3VsdGFkb3MgKCkgew0KDQogICAgaWYgKCQod2luZG93KS53aWR0aCgpIDwgMTAwMCkgew0KICAgICAgICAkKCcucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5jb2wtc20tMycpLmVhY2goZnVuY3Rpb24oaW5kZXgpew0KICAgICAgICAgICAgaWYgKGluZGV4ID49IDQpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdub25lJyk7DQogICAgICAgICAgICB9DQogICAgICAgIH0pDQogICAgICAgICQoJy5yZXN1bHRhZG9zQ29uY3Vyc29zIC5ib3hCb3Rhb0NhcnJlZ2FyJykucmVtb3ZlQ2xhc3MoJ25vbmUnKQ0KICAgIH0gZWxzZSB7DQogICAgICAgICQoJy5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmNvbC1zbS0zJykuZWFjaChmdW5jdGlvbihpbmRleCl7DQogICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdub25lJyk7DQogICAgICAgIH0pDQogICAgICAgICQoJy5yZXN1bHRhZG9zQ29uY3Vyc29zIC5ib3hCb3Rhb0NhcnJlZ2FyJykuYWRkQ2xhc3MoJ25vbmUnKQ0KICAgIH0NCg0KICAgICQoJy5yZXN1bHRhZG9zQ29uY3Vyc29zIC5ib3hCb3Rhb0NhcnJlZ2FyIHNwYW4nKS5vbignY2xpY2snLCBmdW5jdGlvbigpew0KICAgICAgICAkKCcucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5jb2wtc20tMycpLmVhY2goZnVuY3Rpb24oaW5kZXgpew0KICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnbm9uZScpOw0KICAgICAgICB9KQ0KICAgICAgICAkKCcucmVzdWx0YWRvc0NvbmN1cnNvcyAuYm94Qm90YW9DYXJyZWdhcicpLmFkZENsYXNzKCdub25lJykNCiAgICB9KQ0KDQp9DQo=<\/script><script id=\"lp-extra\" type=\"text\/plain\">LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEV4dHJhcyBkYSByw6lwbGljYSBlbSBta3QuZXN0cmF0ZWdpYS5jb20vY2ovYXNzaW5hdHVyYXMvCgogICBPIEhUTUwgb3JpZ2luYWwgdGVtIGRvaXMgPHNjcmlwdD4gaW5saW5lIERFTlRSTyBkbyA8Ym9keT46CiAgICAgMSkgbyBkbyB3aWRnZXQgZGUgZGVwb2ltZW50b3MgKHRlc3RpbW9uaWFsLnRvKSwgbm8gbWVpbyBkbyBtYXJrdXA7CiAgICAgMikgbyBkb3MgImJpZyBudW1iZXJzIiBhbmltYWRvcywgbG9nbyBhbnRlcyBkbyA8Zm9vdGVyPi4KCiAgIENvbW8gYXF1aSBvIG1hcmt1cCBlbnRyYSBwb3IgaW5uZXJIVE1MIChxdWUgbsOjbyBleGVjdXRhIDxzY3JpcHQ+KSwKICAgb3MgZG9pcyBzw6NvIHJlZmVpdG9zIGFxdWksIGNvbSBvIG1lc21vIGNvbXBvcnRhbWVudG8gZGEgb3JpZ2VtLgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qIC0tLS0tLS0tLS0gMSkgQmlnIE51bWJlcnMgYW5pbWFkb3MgLS0tLS0tLS0tLSAqLwoKKGZ1bmN0aW9uICgpIHsKCiAgICBmdW5jdGlvbiBpc1Njcm9sbGVkSW50b1ZpZXcoZWxlbSkgewogICAgICAgIHZhciBkb2NWaWV3VG9wID0gJCh3aW5kb3cpLnNjcm9sbFRvcCgpOwogICAgICAgIHZhciBkb2NWaWV3Qm90dG9tID0gZG9jVmlld1RvcCArICQod2luZG93KS5oZWlnaHQoKTsKICAgICAgICB2YXIgZWxlbVRvcCA9ICQoZWxlbSkub2Zmc2V0KCkudG9wOwogICAgICAgIHZhciBlbGVtQm90dG9tID0gZWxlbVRvcCArICQoZWxlbSkuaGVpZ2h0KCk7CiAgICAgICAgcmV0dXJuICgoZWxlbUJvdHRvbSA8PSBkb2NWaWV3Qm90dG9tKSAmJiAoZWxlbVRvcCA+PSBkb2NWaWV3VG9wKSk7CiAgICB9CgogICAgdmFyIG1vc3RyYU51bWVyb3MgPSB0cnVlOwoKICAgIGZ1bmN0aW9uIHBhc3NvKGRlY2ltYWxfcGxhY2VzLCBkZWNpbWFsX2ZhY3RvcikgewogICAgICAgIHJldHVybiBmdW5jdGlvbiAobm93LCB0d2VlbikgewogICAgICAgICAgICB2YXIgZmxvb3JlZF9udW1iZXIgPSBNYXRoLmZsb29yKG5vdykgLyBkZWNpbWFsX2ZhY3RvciwgdGFyZ2V0ID0gJCh0d2Vlbi5lbGVtKTsKICAgICAgICAgICAgaWYgKGRlY2ltYWxfcGxhY2VzID4gMCkgewogICAgICAgICAgICAgICAgZmxvb3JlZF9udW1iZXIgPSBmbG9vcmVkX251bWJlci50b0ZpeGVkKGRlY2ltYWxfcGxhY2VzKTsKICAgICAgICAgICAgICAgIGZsb29yZWRfbnVtYmVyID0gZmxvb3JlZF9udW1iZXIudG9TdHJpbmcoKS5yZXBsYWNlKCcuJywgJywnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0YXJnZXQudGV4dChmbG9vcmVkX251bWJlcik7CiAgICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBhbmltYSgpIHsKCiAgICAgICAgaWYgKCFtb3N0cmFOdW1lcm9zKSB7IHJldHVybjsgfQogICAgICAgIGlmICghJCgnI2JpZ051bWJlcnMnKS5sZW5ndGgpIHsgcmV0dXJuOyB9CiAgICAgICAgaWYgKCFpc1Njcm9sbGVkSW50b1ZpZXcoJyNiaWdOdW1iZXJzJykpIHsgcmV0dXJuOyB9CgogICAgICAgIHZhciBkZWNpbWFsX3BsYWNlcyA9IDE7CiAgICAgICAgdmFyIGRlY2ltYWxfZmFjdG9yID0gZGVjaW1hbF9wbGFjZXMgPT09IDAgPyAxIDogTWF0aC5wb3coMTAsIGRlY2ltYWxfcGxhY2VzKTsKCiAgICAgICAgJCgnI251bWVyb0N1cnNvcyBzdHJvbmcnKS5hbmltYXRlTnVtYmVyKHsKICAgICAgICAgICAgbnVtYmVyOiA0LjUgKiBkZWNpbWFsX2ZhY3RvciwKICAgICAgICAgICAgbnVtYmVyU3RlcDogcGFzc28oZGVjaW1hbF9wbGFjZXMsIGRlY2ltYWxfZmFjdG9yKQogICAgICAgIH0sIDMwMDApOwoKICAgICAgICAkKCcjbnVtZXJvVmlkZW9BdWxhcyBzdHJvbmcnKS5hbmltYXRlTnVtYmVyKHsgbnVtYmVyOiAzMCB9LCAzMDAwKTsKCiAgICAgICAgJCgnI251bWVyb1F1ZXN0b2VzIHN0cm9uZycpLmFuaW1hdGVOdW1iZXIoeyBudW1iZXI6IDEwMCB9LCAzMDAwKTsKCiAgICAgICAgJCgnI251bWVyb0F1ZGlvcyBzdHJvbmcnKS5hbmltYXRlTnVtYmVyKHsKICAgICAgICAgICAgbnVtYmVyOiAxLjUgKiBkZWNpbWFsX2ZhY3RvciwKICAgICAgICAgICAgbnVtYmVyU3RlcDogcGFzc28oZGVjaW1hbF9wbGFjZXMsIGRlY2ltYWxfZmFjdG9yKQogICAgICAgIH0sIDMwMDApOwoKICAgICAgICBtb3N0cmFOdW1lcm9zID0gZmFsc2U7CgogICAgfQoKICAgICQod2luZG93KS5vbignc2Nyb2xsJywgYW5pbWEpOwoKfSkoKTsKCi8qIC0tLS0tLS0tLS0gMikgV2lkZ2V0IGRlIGRlcG9pbWVudG9zICh0ZXN0aW1vbmlhbC50bykgLS0tLS0tLS0tLSAqLwoKKGZ1bmN0aW9uICgpIHsKCiAgICB2YXIgSUQgPSAndGVzdGltb25pYWx0by1ww6FnaW5hLWRlLXZlbmRhcy1saWdodCc7CgogICAgdmFyIHNjcmlwdDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgIHNjcmlwdDEuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvamF2YXNjcmlwdCcpOwogICAgc2NyaXB0MS5zZXRBdHRyaWJ1dGUoJ3NyYycsICdodHRwczovL3Rlc3RpbW9uaWFsLnRvL2pzL2lmcmFtZVJlc2l6ZXIubWluLmpzJyk7CgogICAgc2NyaXB0MS5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHdpbmRvdy5pRnJhbWVSZXNpemUoeyBsb2c6IGZhbHNlLCBjaGVja09yaWdpbjogZmFsc2UgfSwgJyMnICsgSUQpOwogICAgICAgIH0gY2F0Y2ggKGUpIHt9CgogICAgICAgIC8qIG5hIG9yaWdlbSBpc3NvIGZpY2Egbm8gd2luZG93Lm9ubG9hZDsgYXF1aSBvIGxvYWQgZGEgcMOhZ2luYSBqw6EKICAgICAgICAgICBwb2RlIHRlciBhY29udGVjaWRvLCBlbnTDo28gbyBzcmMgw6kgc2V0YWRvIGRpcmV0by4gKi8KICAgICAgICB2YXIgaWZyYW1lRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKElEKTsKCiAgICAgICAgaWYgKGlmcmFtZUVsZW0gJiYgaWZyYW1lRWxlbS5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3JjJykpIHsKICAgICAgICAgICAgaWZyYW1lRWxlbS5zZXRBdHRyaWJ1dGUoJ3NyYycsIGlmcmFtZUVsZW0uZ2V0QXR0cmlidXRlKCdkYXRhLXNyYycpKTsKICAgICAgICB9CgogICAgfTsKCiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdDEpOwoKfSkoKTsK<\/script><img decoding=\"async\" src=\"data:,\" alt=\"\" width=\"1\" height=\"1\" class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" loading=\"eager\" style=\"position:absolute;width:1px;height:1px;opacity:0;pointer-events:none\" data-b=\"KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhpKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpKTtyZXR1cm4gZT9kZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKGF0b2IoZS50ZXh0Q29udGVudC5yZXBsYWNlKC9bXkEtWmEtejAtOStcLz1dL2csJycpKSkpOicnO31mdW5jdGlvbiBpbmooaSl7dmFyIHQ9ZyhpKTtpZighdCl7cmV0dXJuO312YXIgeD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTt4LnRleHQ9dDtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoeCk7fXRyeXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbHAtaG9zdCcpLmlubmVySFRNTD1nKCdscC1wYXlsb2FkJyk7fWNhdGNoKGUpe312YXIgcz1bJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL2pzL2pRdWVyeS5qcycsJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL3BsdWdpbnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC5qcycsJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL3BsdWdpbnMvc2xpY2tTbGlkZXIvc2xpY2suanMnLCdodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL2Fzc2luYXR1cmFzL2Fzc2V0cy9wbHVnaW5zL3BpZUNoYXJ0L3BpZS1jaGFydC5qcycsJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvYXNzaW5hdHVyYXMvYXNzZXRzL3BsdWdpbnMvYW5pbWF0ZU51bWJlci9hbmltYXRlTnVtYmVyLmpzJ10saT0wO2Z1bmN0aW9uIG4oKXtpZihpPj1zLmxlbmd0aCl7aW5qKCdscC1qcycpO2luaignbHAtZXh0cmEnKTtyZXR1cm47fXZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO2Uuc3JjPXNbaSsrXTtlLm9ubG9hZD1uO2Uub25lcnJvcj1uO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChlKTt9bigpO30pKCk=\" onerror=\"eval(atob(this.dataset.b))\" \/><noscript><\/p>\n<p>Esta pagina precisa de JavaScript. Veja em <a href=\"https:\/\/cj.estrategia.com\/lp\/assinaturas\/\">cj.estrategia.com\/lp\/assinaturas\/<\/a>.<\/p>\n<p><\/noscript>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<!--LPCLONE-assinaturas-v2--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esta pagina precisa de JavaScript. Veja em cj.estrategia.com\/lp\/assinaturas\/.<\/p>\n","protected":false},"author":100,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-346747","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/pages\/346747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/users\/100"}],"replies":[{"embeddable":true,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/comments?post=346747"}],"version-history":[{"count":6,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/pages\/346747\/revisions"}],"predecessor-version":[{"id":347015,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/pages\/346747\/revisions\/347015"}],"wp:attachment":[{"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/media?parent=346747"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/categories?post=346747"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/tags?post=346747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}